La navigation désigne les interactions qui permettent aux utilisateurs de parcourir les différents éléments de contenu de votre application de différentes manières. Qu'il s'agisse de configurer de simples clics sur des boutons ou de modèles plus complexes, tels que l'ajout de barres d'application et d'un panneau de navigation, le composant Navigation d'Android Jetpack vous aide à implémenter la navigation. Il assure également une expérience utilisateur cohérente et prévisible grâce au respect d'un ensemble de principes établi.
Le composant Navigation comprend trois éléments clés décrits ci-dessous :
- Graphe de navigation : ressource XML qui centralise toutes les informations liées à la navigation. Cela inclut toutes les zones de contenu de l'application, appelées destinations, ainsi que les chemins possibles qu'un utilisateur peut emprunter dans celle-ci.
NavHost
: conteneur vide qui affiche les destinations à partir du graphe de navigation. Le composant Navigation contient une implémentationNavHost
par défaut,NavHostFragment
, qui affiche les destinations de fragment.NavController
: objet qui gère la navigation dans l'application dans unNavHost
NavController
orchestre le changement du contenu de destination dansNavHost
à mesure que les utilisateurs se déplacent dans l'application.
Lorsque vous parcourez votre application, vous indiquez à NavController
que vous souhaitez parcourir un chemin spécifique du graphe de navigation ou accéder directement à une destination spécifique. NavController
affiche ensuite la destination appropriée dans NavHost
.
Le composant Navigation offre de nombreux autres avantages, y compris les suivants :
- Gestion des transactions de fragment
- Gestion correcte des fonctions vers le haut et en arrière par défaut
- Mise à disposition de ressources standardisées pour les animations et les transitions
- Implémentation et gestion des liens profonds
- Inclusion des modèles d'interface utilisateur de navigation, tels que les panneaux de navigation et la barre de navigation inférieure, avec des efforts supplémentaires réduits
- Safe Args : plug-in Gradle offrant la sûreté du typage de données lors de la navigation et de la transmission des données entre les destinations
- Utilisation de
ViewModel
: vous pouvez associer unViewModel
à un graphe de navigation pour partager les données liées à l'interface utilisateur entre les destinations du graphe
Vous pouvez également utiliser l'éditeur de navigation d'Android Studio pour afficher et modifier vos graphes de navigation.
Étapes suivantes
Pour plus de documentation et de ressources liées au composant Navigation, lisez la suite.
Premiers pas
Autres sujets
- Principes de navigation
- Concevoir une solution adaptée à différents facteurs de forme
- Navigation par gestes
- Concevoir des graphiques de navigation
- Graphiques imbriqués
- Actions générales
- Navigation conditionnelle
- Transmettre des données entre les destinations
- Créer un lien profond pour une destination
- Animer des transitions entre les destinations
- Mettre à jour les composants de l'UI avec NavigationUI
- Créer des vues à faire glisser avec des onglets
- Interagir de façon programmatique avec le composant Navigation
- Tester la navigation
- Ajouter des types de destination
- Fournir un retour arrière personnalisé
- Effectuer une migration vers le composant Navigation