ViewPager
ViewPager est un gestionnaire de disposition qui vous permet d’implémenter la navigation gesturale. La navigation gesturale permet à l’utilisateur de balayer vers la gauche et la droite pour parcourir les pages de données. Ce guide explique comment implémenter la navigation gesturale avec ViewPager, avec et sans fragments. Il explique également comment ajouter des indicateurs de page à l’aide de PagerTitleStrip et PagerTabStrip.
Vue d’ensemble
Un scénario courant dans le développement d’applications est la nécessité de fournir aux utilisateurs une navigation gestuelle entre les vues frères. Dans cette approche, l’utilisateur effectue un mouvement de balayage vers la gauche ou la droite pour accéder aux pages de contenu (par exemple, dans un Assistant Installation ou un diaporama). Vous pouvez créer ces vues de balayage à l’aide du widget, disponible dans la ViewPager
bibliothèque de support Android v4.
Il ViewPager
s’agit d’un widget de disposition constitué de plusieurs affichages enfants où chaque vue enfant constitue une page dans la mise en page :
En règle générale, ViewPager
il est utilisé conjointement avec les fragments . Toutefois, il existe certaines situations où vous souhaiterez peut-être utiliser ViewPager
sans la complexité ajoutée des Fragment
s.
ViewPager
utilise un modèle d’adaptateur pour lui fournir les vues à afficher. L’adaptateur utilisé ici est conceptuellement similaire à celui utilisé par RecyclerView : vous fournissez une implémentation permettant de PagerAdapter
générer les pages affichées ViewPager
par l’utilisateur. Les pages affichées par ViewPager
peuvent être View
s ou Fragment
s. Quand View
les données sont affichées, la sous-classe de l’adaptateur android est la classe de PagerAdapter
base. S’il Fragment
s’affiche, l’adaptateur sous-classe Android.FragmentPagerAdapter
La bibliothèque de prise en charge Android inclut FragmentPagerAdapter
également (sous-classe de PagerAdapter
) pour faciliter les détails de la connexion Fragment
aux données.
Ce guide illustre les deux approches :
Dans Viewpager avec Views, une
TreePager
application est développée pour montrer commentViewPager
afficher des vues d’un catalogue d’arborescences (galerie d’images d’arbres caduques et persistants).PagerTabStrip
etPagerTitleStrip
sont utilisés pour afficher des titres qui aident à la navigation sur la page.Dans Viewpager avec fragments, une application FlashCardPager légèrement plus complexe est développée pour montrer comment utiliser
ViewPager
avecFragment
s pour créer une application qui présente des problèmes mathématiques en tant que carte s flash et répond à l’entrée utilisateur.
Spécifications
Pour l’utiliser ViewPager
dans votre projet d’application, vous devez installer le package de la bibliothèque de support Android v4 . Pour plus d’informations sur l’installation de packages NuGet, consultez Procédure pas à pas : Inclusion d’un NuGet dans votre projet.
Architecture
Trois composants sont utilisés pour implémenter la navigation gesturale avec ViewPager
:
- ViewPager
- Adaptateur
- Indicateur de pagineur
Chacun de ces composants est résumé ci-dessous.
ViewPager
ViewPager
est un gestionnaire de disposition qui affiche une collection de View
s un à la fois. Son travail consiste à détecter le mouvement de balayage de l’utilisateur et à accéder à la vue suivante ou précédente selon les besoins. Par exemple, la capture d’écran ci-dessous illustre une ViewPager
transition d’une image à l’autre en réponse à un mouvement utilisateur :
Adaptateur
ViewPager
extrait ses données d’un adaptateur. Le travail de l’adaptateur consiste à créer les View
s affichés par le ViewPager
, en les fournissant selon les besoins. Le diagramme ci-dessous illustre ce concept : l’adaptateur crée et remplit View
s et les fournit au ViewPager
. Comme le ViewPager
détecte les mouvements de balayage de l’utilisateur, il demande à l’adaptateur de fournir l’affichage approprié View
:
Dans cet exemple particulier, chacun View
est construit à partir d’une image d’arborescence et d’un nom d’arborescence avant qu’il ne soit passé au ViewPager
.
Indicateur de pagineur
ViewPager
peut être utilisé pour afficher un jeu de données volumineux (par exemple, une galerie d’images peut contenir des centaines d’images). Pour aider l’utilisateur à naviguer dans des jeux de données volumineux, ViewPager
il est souvent accompagné d’un indicateur de pagineur qui affiche une chaîne. La chaîne peut être le titre de l’image, une légende ou simplement la position de l’affichage actuel dans le jeu de données.
Il existe deux vues qui peuvent produire ces informations de navigation pour vous : PagerTabStrip
et PagerTitleStrip.
Chacune affiche une chaîne en haut d’un ViewPager
, et chacune extrait ses données de l’adaptateur de l’adaptateur ViewPager
afin qu’elle reste toujours synchronisée avec l’affichage View
actuel. La différence entre ces deux éléments est qu’il PagerTabStrip
s’agit d’un indicateur visuel pour la chaîne « actuelle », tandis que PagerTitleStrip
ce n’est pas le cas (comme illustré dans ces captures d’écran) :
Ce guide montre comment implémenter ViewPager
, adapter et afficher des composants d’application et les intégrer pour prendre en charge la navigation gesturale.