ViewPager
ViewPager to menedżer układów, który umożliwia implementowanie nawigacji gesturalnej. Nawigacja gestyuralna umożliwia użytkownikowi przesunięcie w lewo i w prawo, aby przejść przez strony danych. W tym przewodniku wyjaśniono, jak zaimplementować nawigację gesturalną za pomocą programu ViewPager z fragmentami i bez nich. W tym artykule opisano również sposób dodawania wskaźników stron przy użyciu elementu PagerTitleStrip i PagerTabStrip.
Omówienie
Typowym scenariuszem tworzenia aplikacji jest zapewnienie użytkownikom nawigacji gesturalnej między widokami równorzędnymi. W tym podejściu użytkownik przesuwa palcem w lewo lub w prawo, aby uzyskać dostęp do stron zawartości (na przykład w kreatorze konfiguracji lub pokazie slajdów). Możesz utworzyć te widoki szybkiego przesunięcia przy użyciu widżetu dostępnego ViewPager
w bibliotece obsługi systemu Android w wersji 4.
Jest ViewPager
to widżet układu składający się z wielu widoków podrzędnych, w których każdy widok podrzędny stanowi stronę w układzie:
ViewPager
Zazwyczaj jest używany w połączeniu z fragmentami, jednak istnieją pewne sytuacje, w których można chcieć użyć ViewPager
bez dodatkowej Fragment
złożoności s.
ViewPager
używa wzorca adaptera, aby udostępnić go widokom do wyświetlenia. Karta używana w tym miejscu jest koncepcyjnie podobna do tej używanej przez element RecyclerView — należy podać implementację PagerAdapter
w celu wygenerowania stron wyświetlanych ViewPager
dla użytkownika. Strony wyświetlane według ViewPager
mogą być View
s lub Fragment
s. Gdy View
są wyświetlane, podklasy adaptera klasy bazowej PagerAdapter
systemu Android. Jeśli Fragment
są wyświetlane, podklasy adaptera systemu Android .FragmentPagerAdapter
Biblioteka pomocy technicznej systemu Android zawiera FragmentPagerAdapter
również (podklasę PagerAdapter
) w celu ułatwienia szczegółów łączenia Fragment
się z danymi.
W tym przewodniku przedstawiono obie metody:
W programie Viewpager with Views aplikacja
TreePager
jest opracowywana w celu zademonstrowania sposobuViewPager
wyświetlania widoków wykazu drzew (galerii obrazów drzew liściastych i wiecznie zielonych drzew).PagerTabStrip
iPagerTitleStrip
są używane do wyświetlania tytułów, które ułatwiają nawigację po stronie.W programie Viewpager z fragmentami opracowano nieco bardziej złożoną aplikację FlashCardPager, aby zademonstrować sposób użycia z
ViewPager
Fragment
programem s w celu utworzenia aplikacji, która przedstawia problemy matematyczne jako karty flash i reaguje na dane wejściowe użytkownika.
Wymagania
Aby użyć ViewPager
go w projekcie aplikacji, należy zainstalować pakiet Biblioteki pomocy technicznej systemu Android w wersji 4 . Aby uzyskać więcej informacji na temat instalowania pakietów NuGet, zobacz Przewodnik: dołączanie pakietu NuGet w projekcie.
Architektura
Trzy składniki są używane do implementowania nawigacji gesturalnej za pomocą ViewPager
polecenia :
- ViewPager
- Adapter
- Wskaźnik pagera
Każdy z tych składników jest podsumowywać poniżej.
ViewPager
ViewPager
jest menedżerem układów View
, który wyświetla pojedynczą kolekcję s. Jego zadaniem jest wykrycie gestu przesunięcia użytkownika i przejście do następnego lub poprzedniego widoku odpowiednio. Na przykład poniższy zrzut ekranu przedstawia ViewPager
przejście z jednego obrazu do następnego w odpowiedzi na gest użytkownika:
Adapter
ViewPager
pobiera dane z adaptera. Zadaniem karty jest utworzenie View
wyświetlanych przez ViewPager
element , podając je zgodnie z potrzebami. Na poniższym diagramie przedstawiono tę koncepcję — karta tworzy i wypełnia View
obiekty i udostępnia je elementowi ViewPager
. ViewPager
Podczas wykrywania gestów przesunięcia użytkownika prosi adapter o podanie odpowiedniego View
do wyświetlenia:
W tym konkretnym przykładzie każda View
z nich jest tworzona na podstawie obrazu drzewa i nazwy drzewa, zanim zostanie przekazana do obiektu ViewPager
.
Wskaźnik pagera
ViewPager
może służyć do wyświetlania dużego zestawu danych (na przykład galeria obrazów może zawierać setki obrazów). Aby ułatwić użytkownikowi nawigowanie po dużych zestawach danych, ViewPager
często towarzyszy mu wskaźnik pager, który wyświetla ciąg. Ciąg może być tytułem obrazu, podpis lub po prostu pozycją bieżącego widoku w zestawie danych.
Istnieją dwa widoki, które mogą generować te informacje nawigacyjne: PagerTabStrip
a PagerTitleStrip.
każdy wyświetla ciąg w górnej części ViewPager
elementu , a każdy ściąga dane z ViewPager
karty , aby zawsze był zsynchronizowany z aktualnie wyświetlanym View
elementem . Różnica między nimi polega na tym, że PagerTabStrip
zawiera wizualny wskaźnik dla ciągu "current", ale PagerTitleStrip
nie (jak pokazano na tych zrzutach ekranu):
W tym przewodniku pokazano, jak za pomocą funkcji immplement ViewPager
, adaptera i składników aplikacji wskaźnika zintegrować je w celu obsługi nawigacji gesturalnej.