Aller au contenu principal

Navigation avec JetPack Compose

On va voir comment définir plusieurs écrans et naviguer entre eux.

Le code de cette recette est disponible ici.

build.gradle.kts

Dans le fichier build.gradle.kts de votre module, vous devez ajouter la dépendance pour la navigation Compose.

Chargement...

Définition des routes

Pour naviguer il faut utiliser la fonction composable NavHost qui permet de définir les routes de l'application.

  • chaque route est définie par un appel à la fonction composable qui prend en paramètre un nom de route et une fonction composable qui sera appelée lorsque l'utilisateur naviguera vers cette route.
  • on peut aussi définir des routes avec des paramètres en utilisant la syntaxe {parametre} dans le nom de la route.
  • le navController est passé en paramètre à la fonction composable pour permettre la navigation entre les routes.
Chargement...

Utilisation des routes

Pour utiliser les routes qu'on vient de définir, on va simplement appeler la fonction compsable qu'on vient de définir soit Navigation dans le setContent de l'activité.

Chargement...

La navigation va se faire en utilisant le navController qu'on a passé:

  • on peut naviguer vers une route en utilisant la fonction navController.navigate("ecranA")
  • on peut aussi passer des paramètres à la route en utilisant la syntaxe navController.navigate("ecranC/20") comme à la ligne 145
  • on peut revenir en arrière en utilisant la fonction navController.popBackStack()
Chargement...

Explorer le code

On t'encourage à explorer le code de l'application pour voir comment les écrans sont définis et comment la navigation est implémentée.

Ajoute des points d'arrêt dans le code pour voir comment la navigation fonctionne en temps réel.

Le code de cette recette est disponible ici.