Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
ViewPager je správce rozložení, který umožňuje implementovat gestrální navigaci. Gesturalní navigace umožňuje uživateli procházet stránky dat potáhnutím prstem doleva a doprava. Tato příručka vysvětluje, jak implementovat gestrální navigaci pomocí ViewPageru s fragmenty a bez fragmentů. Popisuje také, jak přidat indikátory stránek pomocí PagerTitleStrip a PagerTabStrip.
Přehled
Běžným scénářem vývoje aplikací je potřeba uživatelům poskytnout gestrální navigaci mezi zobrazeními na stejné straně. V tomto přístupu uživatel potáhne prstem doleva nebo doprava, aby získal přístup k stránkám obsahu (například v průvodci nastavením nebo v prezentaci). Tato zobrazení potáhnutí prstem můžete vytvořit pomocí widgetu dostupného ViewPager v knihovně podpory Androidu v4.
Jedná se ViewPager o widget rozložení tvořený několika podřízenými zobrazeními, kde každé podřízené zobrazení představuje stránku v rozložení:
ViewPager Obvykle se používá ve spojení s fragmenty. Existují však situace, kdy můžete chtít použít ViewPager bez větší složitostiFragment.
ViewPager používá model adaptéru, který mu poskytne zobrazení, která se mají zobrazit. Adaptér použitý zde je koncepčně podobný tomu, který používá RecyclerView – zadáte implementaci PagerAdapter pro vygenerování stránek, které ViewPager se zobrazí uživateli. Stránky zobrazené ViewPager můžou být Views nebo Fragments. Když Viewse zobrazí, podtřídy adaptéru základní třídu Androidu PagerAdapter . Pokud Fragmentjsou zobrazeny, adaptér podtřídy Android FragmentPagerAdapter. Knihovna podpory Pro Android také obsahuje FragmentPagerAdapter (podtřídu PagerAdapter) pro pomoc s podrobnostmi o připojování Fragmentk datům.
Tato příručka ukazuje oba přístupy:
V viewpageru se zobrazením se vyvíjí aplikace, která ukazuje,
TreePagerjakViewPagerzobrazit zobrazení katalogu stromu (galerie obrázků listnatých a evergreenových stromů).PagerTabStripaPagerTitleStripslouží k zobrazení názvů, které pomáhají s procházením stránek.V Viewpageru s fragmenty je o něco složitější aplikace FlashCardPager vyvinuta tak, aby ukázala, jak používat
ViewPagersFragments k vytvoření aplikace, která představuje matematické problémy jako flash karty a reaguje na uživatelský vstup.
Požadavky
Pokud chcete použít ViewPager projekt aplikace, musíte nainstalovat balíček Knihovny podpory pro Android v4 . Další informace o instalaci balíčků NuGet naleznete v tématu Návod: Zahrnutí NuGetu do projektu.
Architektura
Pro implementaci gestrální navigace se používají tři komponenty s ViewPager:
- ViewPager
- Adaptér
- Ukazatel pageru
Každá z těchto komponent je shrnutá níže.
ViewPager
ViewPager je správce rozložení, který zobrazuje kolekci Views po jednom. Jeho úkolem je zjistit gesto potáhnutí prstem uživatele a podle potřeby přejít na další nebo předchozí zobrazení. Například následující snímek obrazovky ukazuje ViewPager přechod z jednoho obrázku na další v reakci na gesto uživatele:
Adaptér
ViewPagernačítá data z adaptéru. Úlohou adaptéru je vytvoření zobrazených Viewadaptérem ViewPagera jejich poskytnutím podle potřeby. Následující diagram znázorňuje tento koncept – adaptér vytvoří a naplní Viewje a poskytne jim ViewPager. Vzhledem k tomu ViewPager , že rozpozná gesta potáhnutí prstem uživatele, vyzve adaptér, aby poskytl odpovídající View zobrazení:
V tomto konkrétním příkladu se každý View vytvoří ze stromového obrázku a názvu stromu před předáním do objektu ViewPager.
Ukazatel pageru
ViewPager lze použít k zobrazení velké datové sady (například galerie obrázků může obsahovat stovky obrázků). Aby uživatel přecházel mezi velkými datovými sadami, ViewPager je často doprovázen indikátorem pageru, který zobrazuje řetězec. Řetězec může být název obrázku, popis nebo jednoduše pozice aktuálního zobrazení v datové sadě.
Existují dvě zobrazení, která mohou vytvořit tyto navigační informace pro vás: PagerTabStrip a PagerTitleStrip. každý zobrazí řetězec v horní části ViewPagera každý z nich načte svá data z adaptéru ViewPagertak, aby vždy zůstal synchronizovaný Views aktuálně zobrazeným . Rozdíl mezi nimi spočívá v tom, že PagerTabStrip obsahuje vizuální indikátor "aktuálního" řetězce, zatímco PagerTitleStrip ne (jak je znázorněno na těchto snímcích obrazovky):
Tato příručka ukazuje, jak zmplementovat ViewPager, adaptér a indikátor komponenty aplikace a integrovat je pro podporu gestural navigace.



