navigation3
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Release | Alpha-Release |
---|---|---|---|---|
10. September 2025 | - | - | - | 1.0.0-alpha09 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von navigation3 hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle
für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha09" implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha09" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha09") implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha09") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Für dieses Artefakt gibt es keine Versionshinweise.
Version 1.0
Version 1.0.0-alpha09
10. September 2025
androidx.navigation3:navigation3-*:1.0.0-alpha09
wird veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
DecoratedNavEntryProvider
wurde durchrememberDecoratedNavEntries
ersetzt, das NavEntries erstellt und zurückgibt, die mit der Liste der bereitgestellten Dekoratoren (I0fe1c, b/441328236) versehen sind.NavBackStack
ist jetzt generisch über den TypNavKey
. So können Apps und Bibliotheken benutzerdefinierte Schlüsseltypen für ihre Backstacks definieren, anstatt aufNavKey
beschränkt zu sein. (I4d190,Iad2f4, b/420443609)NavBackStack
ist jetzt@kotlinx.serialization.Serializable
. So lässt sich der Navigationsstatus bei Prozessbeendigung und Konfigurationsänderungen ohne zusätzlichen Boilerplate-Code speichern und wiederherstellen. (I2c3cf, b/420443609)RememberNavBackStack
wurde zucommonMain
verschoben, damit es auf allen Plattformzielen verfügbar ist. (Id69e7, b/420443609)
Fehlerkorrekturen
NavDisplay
verschiebt jetzt jede einzelneNavEntry
korrekt in die richtigeLifecycle.State
. (I30aac, b/440145700)- Ein Problem wurde behoben, durch das
NavDisplay
alle verschachteltenNavigationEventDispatcherOwner
ignorierte, die überLocalNavigationEventDispatcherOwner
derNavigationEvent
-Bibliothek festgelegt wurden. (I6224a)
Änderungen an Abhängigkeiten
- Navigation3 hängt jetzt von NavigationEvent Alpha08 ab.
Version 1.0.0-alpha08
27. August 2025
androidx.navigation3:navigation3-*:1.0.0-alpha08
wird veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
- Den
Navigation3 Runtime
-Artefakten wurden neue Kotlin MultiPlatform-Ziele (KMP) hinzugefügt.Navigation3 Runtime
unterstützt jetzt insgesamt die folgenden Plattformen: JVM (Android und Desktop), Native (Linux, iOS, watchOS, macOS, MinGW) und Web (JavaScript, WasmJS). (I55078, b/424410398, b/419294028, b/419046226) Hinweis: Dies bietet keine KMP-Ziele für dasNavigation3 UI
-Artefakt. Auf anderen Plattformen müssen Sie Ihre eigene benutzerdefinierteNavDisplay
implementieren. Wenn Sie möchten, dass diese Funktion unterstützt wird, stimmen Sie hier für das Jetbrains-Problem ab und verfolgen Sie den Fortschritt. - Das
NavDisplayInfo
-Objekt ist jetzt öffentlich und kann verwendet werden, um die Liste der sichtbaren Einträge aus demNavDisplay
abzurufen. (Ibc91f)
API-Änderungen
- Es wurde ein neues
NavBackStackSerializer
hinzugefügt, das in Verbindung mitrememberNavBackStack
verwendet werden kann, um den Status wiederherzustellen.rememberNavBackStack()
akzeptiert jetzt auch einSavedStateConfiguration
, mit dem Sie Ihre eigene Konfiguration bereitstellen können. (I2f4d2, I4cd58, b/420443609)
Fehlerkorrekturen
- Beim Navigieren wurden fälschlicherweise Lifecycle-Ereignisse ausgelöst. Dieses Problem wurde behoben. (I8bf6d, b/425901162, b/434109022)
Bekannte Probleme
- Durch I8bf6d wurde ein Fehler eingeführt, der dazu führte, dass Lebenszyklen auf Szenen statt auf einzelnen Einträgen basierten. Dadurch wurde der Lebenszyklus in allen Fällen unterbrochen, in denen der für
NavEntry
bereitgestelltekey
keinString
ist oder IhrNavEntry
dencontentKey
nicht überschrieben und auf denkey
gesetzt hat. Dadurch wird erzwungen, dass Ihr Schlüssel in einemBundle
gespeichert werden kann. Dieser Fehler wurde für die nächste Version behoben. (b/440145700)
Version 1.0.0-alpha07
13. August 2025
androidx.navigation3:navigation3-*:1.0.0-alpha07
wird veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.
MinSdk-Update
- Der Standardwert für „minSdk“ für AndroidX wurde von API 21 auf API 23 verschoben (Ibdfca, b/380448311, b/435705964, b/435705223).
API-Änderungen
SavedStateNavEntryDecorator
verwendet jetzt die inSaveableStateProvider
integrierteSaveableStateRegistry
, um Zustände zu speichern und wiederherzustellen. (If8d9a)predictivePopTransitionSpec
erhält jetzt den Wischrand als Parameter. So können Sie den Übergang anpassen, je nachdem, von welchem Rand der Nutzer die Vorhersage-Geste „Zurück“ gestartet hat. (I753a8)
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das benutzerdefinierte Szenen unendlich oft neu berechnet wurden, weil die letzte Szene nicht gespeichert wurde. (I7ba84, b/418153031)
Abhängigkeitsupdate
- Navigation3 hängt jetzt von Navigation Event
1.0.0-alpha06
ab.
Version 1.0.0-alpha06
30. Juli 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06
wird veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Abhängigkeitsupdate
- Navigation3 hängt jetzt von Navigation Event
1.0.0-alpha05
ab.
Version 1.0.0-alpha05
2. Juli 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05
wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Geändertes Verhalten
- Der Status von
NavEntry
basiert jetzt ausschließlich auf der aktuellen Liste der Dekoratoren, die anNavDisplay
übergeben werden. Das bedeutet, dass Dekoratoren bei mehreren Backstacks entlang Ihrer Backstacks getauscht werden sollten, um den Status der NavEntries im Backstack beizubehalten. Andernfalls werden die Status so gelöscht, als wären die Einträge entfernt worden (anstatt eines Tauschs). (I7a759, b/428033667)
Version 1.0.0-alpha04
18. Juni 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04
wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
NavEntry.content
ist jetzt privat. UmNavEntry
-Inhalte aufzurufen, rufen Sie die neueNavEntry.Content()
-API auf. Für den Aufruf ist keinkey
-Parameter mehr erforderlich. (Icd0fd, b/420991203)NavEntry.key
ist jetzt ein privates Feld. DieNavEntry
und die zugehörigen Status sollten über das neue FeldcontentKey
identifiziert werden. Dieses wird aus der neuen Lambda-FunktioncontentKeyFactory
generiert und hat standardmäßig einen speicherbaren Hash, der ausNavEntry.key
generiert wird (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).
Änderungen an Abhängigkeiten
- Navigation3 hängt jetzt vom neuen
androidx.navigationevent.compose
-Artefakt ab.
Version 1.0.0-alpha03
4. Juni 2025
androidx.navigation3:navigation3-*:1.0.0-alpha03
wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
Navigation3
löscht nicht mehr die Dekoratorstatus fürbackStacks
, die ausgetauscht und durch eine anderebackStack
-Instanz ersetzt wurden. (I28a42, b/415076044)
Version 1.0.0-alpha02
23. Mai 2025
androidx.navigation3:navigation3-*:1.0.0-alpha02
wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit dem
SavedStateNavEntryDecorator
wurde behoben, das zu Kollisionen für verschiedene Datenklassen mit denselben Attributwerten geführt hat. (b/418070648, Iff4775) - Ein Problem mit einer fehlenden Klasse wurde behoben, das zu Abstürzen geführt hat, wenn die App ohne explizite Abhängigkeiten ausgeführt wurde. (b/419049149, I4b4ed)
Version 1.0.0-alpha01
20. Mai 2025
androidx.navigation3:navigation3-*:1.0.0-alpha01
wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.
Neue Funktionen
Navigation3 ist eine neue Navigationsbibliothek, die speziell für die In-App-Navigation mit Jetpack Compose entwickelt wurde. Das androidx.navigation3.runtime
-Artefakt enthält die Bausteine, während das androidx.navigation3.ui
-Artefakt die UI-Ebene über die NavDisplay
API bereitstellt. Entwickler können ihren eigenen Status direkt an die zusammensetzbare Funktion NavDisplay
übergeben. Der Inhalt wird dann basierend auf Änderungen im Entwicklerstatus geändert.
@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 */ }
})
Weitere Informationen finden Sie im Navigation3-Leitfaden.