navigation3
Dernière mise à jour | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
27 août 2025 | - | - | - | 1.0.0-alpha08 |
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-alpha08" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha08" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha08") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha08") }
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.
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-alpha08
27 août 2025
Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha08
. La version 1.0.0-alpha08 contient ces commits.
Nouvelles fonctionnalités
- Ajout de nouvelles cibles Kotlin Multiplatform (KMP) aux artefacts
Navigation3 Runtime
.Navigation3 Runtime
est désormais compatible avec les plates-formes suivantes : JVM (Android et Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) et Web (JavaScript, WasmJS). (I55078, b/424410398, b/419294028, b/419046226). Remarque : Cela ne fournit pas de cibles KMP pour l'artefactNavigation3 UI
. Sur d'autres plates-formes, vous devrez implémenter votre propreNavDisplay
personnalisé. Si vous souhaitez que cette fonctionnalité soit prise en charge, veuillez voter pour le problème Jetbrains ici et suivre sa progression pour obtenir de l'aide supplémentaire. - L'objet
NavDisplayInfo
est désormais public et peut être utilisé pour récupérer la liste des entrées visibles à partir deNavDisplay
. (Ibc91f)
Modifications apportées à l'API
- Ajout d'un nouveau
NavBackStackSerializer
à utiliser conjointement avecrememberNavBackStack
pour effectuer la restauration de l'état.rememberNavBackStack()
accepte désormais également unSavedStateConfiguration
qui peut être utilisé pour fournir votre propre configuration. (I2f4d2, I4cd58, b/420443609)
Correction de bugs
- Correction d'un problème qui entraînait le déclenchement d'événements de cycle de vie incorrects lors de la navigation. (I8bf6d, b/425901162, b/434109022)
Problèmes connus
- Un bug introduit par I8bf6d a fait que les cycles de vie étaient basés sur des scènes au lieu d'entrées individuelles, ce qui a cassé le cycle de vie pour les scènes avec plusieurs écrans. Ce problème a été corrigé pour la prochaine version. (b/440145700)
Version 1.0.0-alpha07
13 août 2025
Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha07
. La version 1.0.0-alpha07 contient ces commits.
Mise à jour de MinSdk
- La valeur minSdk par défaut pour AndroidX est passée de l'API 21 à l'API 23 (Ibdfca, b/380448311, b/435705964, b/435705223).
Modifications apportées à l'API
SavedStateNavEntryDecorator
utilise désormaisSaveableStateRegistry
intégré àSaveableStateProvider
pour enregistrer et restaurer les états. (If8d9a)- Le
predictivePopTransitionSpec
fournit désormais le bord de balayage en tant que paramètre, ce qui vous permet de personnaliser la transition en fonction du bord à partir duquel l'utilisateur a commencé le geste de prévisualisation du Retour. (I753a8)
Correction de bugs
- Correction d'un problème qui entraînait le recalcul infini des scènes personnalisées, car la scène la plus récente n'était pas mémorisée. (I7ba84, b/418153031)
Mise à jour de la dépendance
- Navigation3 dépend désormais de Navigation Event
1.0.0-alpha06
.
Version 1.0.0-alpha06
30 juillet 2025
Publication d'androidx.navigation3:navigation3-*:1.0.0-alpha06
. La version 1.0.0-alpha06 contient ces commits.
Mise à jour de la dépendance
- Navigation3 dépend désormais de Navigation Event
1.0.0-alpha05
.
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" dans le cas de plusieurs piles "Retour" 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ée. Pour appeler le contenuNavEntry
, appelez la nouvelle APINavEntry.Content()
, qui ne nécessite plus de paramètrekey
. (Icd0fd, b/420991203)NavEntry.key
est désormais un champ privé.NavEntry
et ses états associés doivent être identifiés par le nouveau champcontentKey
, qui est généré à partir du nouveau lambdacontentKeyFactory
et qui est défini par défaut sur un hachage enregistrable généré à partir deNavEntry.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 lesbackStacks
qui ont été remplacés par une autre instancebackStack
. (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.