Navigation

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émentation NavHost par défaut, NavHostFragment, qui affiche les destinations de fragment.
  • NavController : objet qui gère la navigation dans l'application dans un NavHost NavController orchestre le changement du contenu de destination dans NavHost à 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 un ViewModel à 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

Exemples

Ateliers de programmation

Articles de blog

Vidéos