Partager via


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 :

Captures d’écran de l’application TreePager avec un exemple de balayage horizontal

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 Fragments.

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 Views ou Fragments. Quand Viewles données sont affichées, la sous-classe de l’adaptateur android est la classe de PagerAdapter base. S’il Fragments’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 Fragmentaux données.

Ce guide illustre les deux approches :

  • Dans Viewpager avec Views, une TreePager application est développée pour montrer comment ViewPager afficher des vues d’un catalogue d’arborescences (galerie d’images d’arbres caduques et persistants). PagerTabStrip et PagerTitleStrip 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 avec Fragments 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 Views 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 :

Fermeture de l’application TreePager affichant une transition entre les vues

Adaptateur

ViewPager extrait ses données d’un adaptateur. Le travail de l’adaptateur consiste à créer les Views affichés par le ViewPager, en les fournissant selon les besoins. Le diagramme ci-dessous illustre ce concept : l’adaptateur crée et remplit Views 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 :

Diagramme illustrant la façon dont l’adaptateur connecte des images et des noms au ViewPager

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 ViewPagerafin qu’elle reste toujours synchronisée avec l’affichage Viewactuel. 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) :

Captures d’écran de l’application TreePager avec PagerTitleStrip et PagerTabStrip

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.