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
- Définition des routes
- Utilisation des routes
- Naviguer entre écran
- Explorer le code
Dans le fichier build.gradle.kts
de votre module, vous devez ajouter la dépendance pour la navigation Compose.
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.
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é.
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()
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.