2010-04-23 5 views
35

Jak mogę przesuwać moją stronę, gdy użytkownik ślizga się po ekranie? Dowolny przykładowy kod?Jak mogę przesuwać moją stronę, gdy użytkownik ślizga się po ekranie?

Po prostu wymagam tego samego uczucia, co na ekranie głównym telefonu z Androidem g-phone. Ekran przesuwa się w miarę poruszania palcem (obejmuje również efekt elastyczności).

+1

Czy jesteś w stanie wykonać animację. Szukam czegoś takiego. Wiem, że jest to możliwe dzięki fantazyjnym kalkulacjom, gestom zmysłowym itp. Wystarczy wiedzieć, czy jest coś łatwego, jak użycie HorizontalScrollBar i dodać do niego widoki, a następnie ustawić niektóre parametry i gotowe! – karim

+0

@Maxood udało się zrobić ..... – Kishore

Odpowiedz

19

Sprawdź to tutorial i its follow up na warriorpoint. Wyjaśniają sposób użycia ViewFlippera do płynnego animowania przejścia z jednego ekranu do drugiego, a następnie w drugiej części, jak to zrobić za pomocą sterowania dotykowego. Uwaga: są to przejścia całego ekranu, które nie przesuwają się po istniejącej stronie. Do panoramowania, np. na przewymiarowanym obrazie, który nie mieści się na ekranie, sprawdź numer Android BigImage. W zależności od tego, co próbujesz zrobić, może to być przesada, ale nie jest w 100% jasne, co próbujesz osiągnąć.

+0

Te 2 metody nie są rozpoznawane, ponieważ animacje nie zostały dostarczone. vf.setAnimation (AnimationUtils.loadAnimation (this, R.anim.push_left_out)); vf.setInAnimation (AnimationUtils.loadAnimation (this, R.anim.push_left_in)); Również gdy wypowiadam te 2 linie i uruchamiam kod ... po prostu otrzymuję efekt przełączania, a nie przesuwny. Proszę wyjaśnić –

+0

Czy wykonałeś krok 4 i zaimportowałeś animacje z ApiDemos? Po prostu uzyskasz efekt przełączania, jeśli skomentujesz te dwie linie, ponieważ te dwie linie mówią, że używa efektu przesuwania ... –

+3

Dobrze. Zrobiłem to i uzyskałem efekt ślizgowy, ale nie jestem w stanie utrzymać strony palcem, tak jak można to zrobić na ekranie dotykowym domu. W jaki sposób mogę przytrzymać stronę podczas przeciągania/przesuwania palcem? Jak można trzymać ją palcem, tak jak wtedy, gdy strona jest w połowie. Dzięki –

0

galeria użycie widok

+0

Czy na pewno działa widok galerii? Czy będę w stanie przytrzymać stronę w połowie palcem? –

0

Musisz detektor Gest - klas/interfejsów pod rozważań są:

1. android.view.GestureDetector 
2. android.view.GestureDetector.SimpleOnGestureListener 

Metoda zainteresowania jest onFling.

Teraz, w oparciu o X, Y i prędkość w odpowiednich kierunkach, można "narysować swój widok"/"zmienić położenie widoków zagnieżdżonych w przypadku aktywności lub grupy widoku" w odpowiedniej lokalizacji.

Przykładem jak przerysować można znaleźć w każdej grze-przykład jak LunarLander w Androida w http://developer.android.com/resources/samples/LunarLander/src/com/example/android/lunarlander/LunarView.html

9

ViewPager. To wydaje się być bardziej addressed całkowicie po fakcie:

Czy właśnie rozpoczął się w Android app rozwoju lub są weteran rzemiosła, to prawdopodobnie nie będzie zbyt długo zanim będziesz potrzebujesz do realizacji poziomo przewijanych widoków. Wiele istniejących aplikacji na Androida już używa tego wzoru interfejsu użytkownika, takiego jak nowy rynek Android , Dokumenty Google i Google+. ViewPager standaryzuje implementację .

2

Ekran główna składa się z dwóch warstw:

  • tle (lub obszaru roboczego), który wyświetla obraz; ta warstwa przewija i rysuje tapetę z inną wartością przewijania.Przestrzeń robocza zachowuje się mniej więcej tak, jak uproszczony układ poziomy:

  • Ekrany (lub CellLayouts), które wyświetlają ikony; ta warstwa składa się z 3 CellLayout obok siebie. CellLayout to niestandardowy układ podobny do siatki.

Rzucanie jest realizowane za pomocą VelocityTracker, Scroller i zwykłych metod View.scroll.