navigation3

  
Navigation 3 est une nouvelle bibliothèque de navigation conçue pour fonctionner avec Compose.
Dernière mise à jour Version stable Version finale Version bêta Version alpha
2 juillet 2025 - - - 1.0.0-alpha05

Déclarer des dépendances

Pour ajouter une dépendance à navigation3, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.

Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :

Groovy

dependencies {
    implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05"
}

Kotlin

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05")
}

Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.

Commentaires

Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.

Signaler un nouveau problème

Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.

Aucune note de version pour cet artefact.

Version 1.0

Version 1.0.0-alpha05

2 juillet 2025

Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha05. La version 1.0.0-alpha05 contient ces commits.

Nouveaux comportements

  • L'état de NavEntry est désormais strictement basé sur la liste actuelle des décorateurs transmis à NavDisplay. Cela signifie que les décorateurs doivent être échangés le long de vos piles "Retour" en cas de piles "Retour" multiples afin de préserver l'état des NavEntries sur la pile "Retour". Sinon, les états seront effacés comme si les entrées avaient été supprimées (au lieu d'être inversées). (I7a759, b/428033667)

Version 1.0.0-alpha04

18 juin 2025

Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha04. La version 1.0.0-alpha04 contient ces commits.

Modifications apportées à l'API

  • NavEntry.content est désormais privé. Pour appeler le contenu NavEntry, appelez la nouvelle API NavEntry.Content(), qui ne nécessite plus de paramètre key. (Icd0fd, b/420991203)
  • NavEntry.key est désormais un champ privé. NavEntry et ses états associés doivent être identifiés par le nouveau champ contentKey, qui est généré à partir du nouveau lambda contentKeyFactory et qui est défini par défaut sur un hachage enregistrable généré à partir de NavEntry.key. (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

Modifications de la dépendance

  • Navigation3 dépend désormais du nouvel artefact androidx.navigationevent.compose.

Version 1.0.0-alpha03

4 juin 2025

Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha03. La version 1.0.0-alpha03 contient ces commits.

Correction de bugs

  • Navigation3 n'effacera plus les états de décorateur pour les backStacks qui ont été remplacés par une autre instance backStack. (I28a42, b/415076044)

Version 1.0.0-alpha02

23 mai 2025

Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha02. La version 1.0.0-alpha02 contient ces commits.

Correction de bugs

  • Correction d'un problème lié à SavedStateNavEntryDecorator qui entraînait des collisions pour différentes classes de données avec les mêmes valeurs de propriété. (b/418070648, Iff4775)
  • Correction d'un problème de classe manquante qui entraînait des plantages lors de l'exécution sans déclaration de dépendances explicites. (b/419049149, I4b4ed)

Version 1.0.0-alpha01

20 mai 2025

Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha01. La version 1.0.0-alpha01 contient ces commits.

Nouvelles fonctionnalités

Navigation3 est une nouvelle bibliothèque de navigation conçue spécifiquement pour gérer la navigation dans les applications Jetpack Compose. L'artefact androidx.navigation3.runtime fournit les blocs de construction, tandis que l'artefact androidx.navigation3.ui fournit la couche UI via l'API NavDisplay. Les développeurs peuvent fournir leur propre état directement à la fonction composable NavDisplay, qui modifie le contenu en fonction des changements d'état du développeur.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

Pour en savoir plus, consultez le guide Navigation3.