navigation3
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 1. Juli 2026 | 1.1.4 | - | - | 1.2.0-alpha05 |
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 die Abhängigkeiten für die benötigten Artefakte der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.2.0-alpha05" implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha05" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha05") implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha05") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Für dieses Artefakt gibt es keine Versionshinweise.
Navigation3 Version 1.2
Version 1.2.0-alpha05
1. Juli 2026
androidx.navigation3:navigation3-*:1.2.0-alpha05 ist veröffentlicht. Version 1.2.0-alpha05 enthält diese Commits.
Neue API
- Es wurde eine
rememberResultEventBus-API hinzugefügt, die einResultEventBuszurückgibt, das anrememberResultEventBusNavEntryDecoratorübergeben werden kann. So kann einResultEventBusaußerhalb desResultEventBusNavEntryDecoratorplatziert werden. (Ia655b, b/516995400)
DeepLinkRequest
- Es wurden zwei KMP-kompatible Konstruktoren hinzugefügt: einer, der einen DeepLinkUri akzeptiert, und einer, der einen Rohstring-URI akzeptiert. (I3c088, b/513200887, b/522194187)
- (Nur Android) Es wurde ein Konstruktor hinzugefügt, der ein Intent akzeptiert. (Ia0498, b/513200887, b/522194187)
- Alle Konstruktoren haben ein zusätzliches extras-Feld für ein Map<String, Any>, um zusätzliche Anforderungsinformationen anzuhängen. (If81d5, b/513200887)
- Eine neue requestExtras-DSL wurde als typsichere Methode zum Erstellen einer Karte mit Extras hinzugefügt. Die DSL bietet eine put-Funktion zum Speichern von Paaren aus RequestExtrasKey und Any. Mit der Erweiterungsfunktion Map<String, Any>.get(key) kann aus der Karte mit einem RequestExtrasKey gelesen werden(I5091c, b/513200887).
- (Nur Android) Es wurde eine ActionExtrasKey- und eine actionExtra-Funktion zum Erstellen einer Extras-Karte mit ActionExtrasKey hinzugefügt. (Id0c90, [b/513200887]
- Die Funktionen MimeTypeExtrasKey und mimeTypeExtra wurden hinzugefügt, um eine Karte mit Extras mit MimeTypeExtrasKey zu erstellen. (I85131, b/513200887)
DeepLinkMatcher
- Die Funktionen DeepLinkMatcher.mimeTypeFilter und DeepLinkMatcher.actionFilter wurden hinzugefügt, um DeepLinkMatcher.Filters zu erstellen, die DeepLinkRequest nach mimeType oder action filtern (nur Android). Bei beiden Filtern wird nach Stringgleichheit gesucht und die Groß-/Kleinschreibung nicht berücksichtigt. (Ie7e67, b/513191950)
API-Änderungen
DeepLinkRequest
- Remove fromAction factory function. Verwenden Sie zum Erstellen einer Anfrage, die mit einer Aktion verknüpft ist, das neue Feld DeepLinkRequest.extras.(Id0c90, b/513200887)
- Die fromMimeType-Fabrikfunktion wurde entfernt. Verwenden Sie das neue Feld DeepLinkRequest.extras, um eine Anfrage zu erstellen, die einem MIME-Typ zugeordnet ist. (I85131, b/513200887)
- (Nur Android) Die fromIntent-Factory-Funktion wurde entfernt. Wird durch einen neuen Konstruktor ersetzt, der eine Intent- und eine Extras-Zuordnung akzeptiert. (Ia0498, b/513200887, b/522194187)
- Die Factory-Funktionen fromUri und fromUriString wurden entfernt. Wird durch neue Konstruktoren ersetzt, die entweder einen DeepLinkUri oder einen Rohstring-URI verwenden. (Id5b6f, b/522194187)
- DeepLinkMatcher, DeepLinkMatcher.MatchResult und ihre Unterklassen verwenden jetzt ein kovariantes T (out T), sodass bei der Verwendung mit Matchers keine Typumwandlung für hierarchische Schlüssel erforderlich ist. (I1e453, b/525094876)
- Der UriMatchResult-Konstruktorparameter für die Argumentzuordnung hat jetzt standardmäßig eine leere Zuordnung. (I3acdd)
- Die abstrakte Klasse DeepLinkMatcher.Filter ist jetzt eine funktionale Schnittstelle. Das Konstruktorfeld filter wurde entfernt und sollte stattdessen direkt in der Unterklasse übergeben werden. (I9eb7d, b/522194187)
Fehlerkorrekturen
- Ein eingeblendeter Eintrag verschwindet nicht mehr sofort, wenn er zu einem Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wird. (Idb872, b/520494430)
- UriDeepLinkMatcher wurde korrigiert, sodass ein Null-UriMatchResult zurückgegeben wird, anstatt MissingFieldException auszugeben, wenn bei der Zuordnung erforderliche Argumente fehlen. (I5322f, b/524663005)
- Eine UriDeeplinkMatcher mit einem URI mit dem Schema „https“ kann nur mit Anfragen abgeglichen werden, die ebenfalls das Schema „https“ haben. (Ibfe22, b/522304329)
- Fehlerbehebung: UriDeepLinkMatcher wird jetzt korrekt als positive Übereinstimmung mit https identifiziert, wenn ein DeepLinkRequest mit einem UriDeepLinkMatcher abgeglichen wird.http (I3a62b, b/518804264)
- Der DeepLinkMatcher.MatchResult-Vergleich gibt jetzt standardmäßig 0 zurück, wenn zwei Ergebnisse gleich sind. (I48ddb, b/518841353)
- UriDeepLinkMatcher gibt jetzt einen Nullwert für UriMatchResult zurück, anstatt eine Ausnahme auszulösen, wenn die Abgleichsanfrage aufgrund fehlender erforderlicher Argumente fehlschlägt. (I669a7, b/470282247, b/512923412)
Version 1.2.0-alpha04
3. Juni 2026
androidx.navigation3:navigation3-*:1.2.0-alpha04 ist veröffentlicht. Version 1.2.0-alpha04 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit der Overlay-Animation wurde behoben, bei dem verschachtelte Overlays wie
ModalBottomSheetunerwartet neu animiert wurden, wenn die Overlays darüber entfernt wurden. (Ia2b9e, b/502624496)
Version 1.2.0-alpha03
19. Mai 2026
androidx.navigation3:navigation3-*:1.2.0-alpha03 ist veröffentlicht. Version 1.2.0-alpha03 enthält diese Commits.
Neue Funktionen
Navigation 3 unterstützt jetzt Deeplinks mit DeepLinkRequest und DeepLinkMatcher:
DeepLinkRequest– ein angeforderter Deeplink mit einemDeepLinkUriund einem optionalen „mimeType“ oder einer optionalen Aktion(nur Android). Zusammen mit der neuen Klasse gibt es Begleitfunktionen zum Erstellen einer Instanz mit einemuri, einemmimeTypeoder einemaction. Die Android-Plattform bietet auch eine Hilfsfunktion zum Erstellen einer Anfrage aus einem Intent. (Iaaac9, b/470282247)val uriOnlyRequest = DeepLinkRequest.fromUriString("https://sampledeeplink.com/home") val uriAndMimeRequest = DeepLinkRequest.fromUriString( "https://sampledeeplink.com/user/profile?id=123", "image/png" )DeepLinkMatchersteht für einen Deeplink, der mit einemDeepLinkRequestabgeglichen werden kann. Jede Matcher-Instanz ist dem Navigationsschlüssel zugeordnet, der diesen Deeplink unterstützt. Ein Navigationsschlüssel kann mehreren Matchern zugeordnet werden. Wenn SieDeepLinkMatcher.matchaufrufen, wird einMatchResultzurückgegeben, das den zugehörigen Navigationsschlüssel enthält, wenn eine Übereinstimmung gefunden wird. Es gibt zwei Standardimplementierungen vonDeepLinkMatcher:UriDeepLinkMatcherfür den Abgleich von Deeplinks auf Grundlage von URI undStaticKeyDeepLinkMatcherfür den Abgleich von Deeplinks mit nurDeepLinkMatcher.Filter, die über einenBooleanübereinstimmen. (I3798e, b/470282247)UriDeepLinkMatchereine meinungsbasierte Implementierung vonDeepLinkMatcher, die Deeplinks verarbeitet, indemDeepLinkUrimit einem serialisierbaren Navigationsschlüssel abgeglichen wird. Es werden Deeplink-Argumente von primitiven Typen oder Sammlungen von Primitiven wie Listen, Arrays und Sets unterstützt. (I1520b, b/470282247)@Serializable data class UserKey(val id: Int): NavKey // declare a deep link supported by UserKey val userMatcher = UriDeepLinkMatcher( uriPattern = "www.sampledeeplink.com/user?userId={id}", serializer = serializer<UserKey>() ) // handle a requested deep link with fallback key val key = userMatcher.match(deepLinkRequest)?.key ?: HomeKeyDeepLinkUriwurde hinzugefügt. Das ist eine Kotlin Multiplatform-Version vonandroid.net.Uri. (Id4725, b/470282247)
API-Änderungen
- Auf
compileSdk 37aktualisiert, um dem compileSdk von Compose zu entsprechen
Fehlerkorrekturen
- Die
AnimatedBottomSheetSamplevonIllegalArgumentExceptionwurde korrigiert, wenn mehrere Overlays angezeigt werden. Die Beispiel-SceneStrategyberechnet jetzt korrekt den letzten Nicht-OverlaySceneund zeigt ihn unter allen Overlayszenen an. (If2281, b/506733412) - Die
NavigationEvent-Abhängigkeit wurde auf Version 1.1.1 aktualisiert. Dadurch wird der No-Op-NavigationEventHandler im Inspektionsmodus entfernt, um die Funktion „Vorhersagende Zurück-Geste“ in Android Studio-Vorabversionen zu aktivieren. (I487fd)
Version 1.2.0-alpha02
22. April 2026
androidx.navigation3:navigation3-*:1.2.0-alpha02 ist veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
API-Änderungen
- Benennen Sie
onBackinonBackCompletedum und fügen SieonBackCancelledzu NavigationBackHandler hinzu, um abgebrochene Zurück-Gesten zu unterstützen. (I92741) - Fügen Sie
NavigationBackHandlerhinzu, um die Verarbeitung von „Zurück“-Gesten und der intelligenten „Zurück“-Geste bei Verwendung vonSceneStatezu vereinfachen. So können Entwickler einfacher benutzerdefinierte UI-Komponenten erstellen, die die Standard-Zurück-Navigation und Vorhersage-Gesten unterstützen, ohne Backstack-Deltas manuell berechnen zu müssen. (I6a055) - Fügen Sie
rememberNavigationEventStatehinzu, um die Verbindung vonSceneStatemit der Verarbeitung von intelligenten „Zurück“-Gesten zu vereinfachen. (Iae49c)
Neue Funktionen
- Es wurde eine
ResultEventBusAPI hinzugefügt, mit der Ergebnisse zwischen NavEntries mit demLocalResultEventBusübergeben werden können, das von der neuenResultEventBusNavEntryDecoratorbereitgestellt wird. Übergebene Ergebnisse können als Status mitResultEventBus#conflateAsStateoder als Ergebnisfluss mitResultEffectbewertet werden.
Version 1.2.0-alpha01
8. April 2026
androidx.navigation3:navigation3-*:1.2.0-alpha01 ist veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Fehlerkorrekturen
- Wenn Sie über ein
OverlaySceneaufLocalNavAnimatedContentScopezugreifen, wird keinIllegalStateExceptionmehr ausgelöst, daOverlayScenesjetzt ein No-Op-LocalAnimatedContentScopeerhalten. (I2f00c, b/486067688)
Navigation3 Version 1.1
Version 1.1.4
1. Juli 2026
androidx.navigation3:navigation3-*:1.1.4 ist veröffentlicht. Version 1.1.4 enthält diese Commits.
Fehlerkorrekturen
- Das Problem, dass ein eingeblendeter Eintrag sofort wieder verschwand, wenn er zu einem Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wurde, wurde behoben. (Idb872, b/520494430)
Version 1.1.3
17. Juni 2026
androidx.navigation3:navigation3-*:1.1.3 ist veröffentlicht. Version 1.1.3 enthält diese Commits.
Fehlerkorrekturen
Ein Problem mit der Overlay-Animation wurde behoben, bei dem verschachtelte Overlays wie
ModalBottomSheetunerwartet neu animiert wurden, wenn die Overlays darüber entfernt wurden. (Ia2b9e, b/502624496)Die
NavigationEvent-Abhängigkeit wurde auf Version 1.1.2 aktualisiert. Dadurch wurde die No-Op-FunktionNavigationEventHandlerim Inspektionsmodus entfernt, um die Funktion „Vorhersagende Zurück-Geste“ in Android Studio-Vorabversionen zu aktivieren.
Version 1.1.2
19. Mai 2026
androidx.navigation3:navigation3-*:1.1.2 ist veröffentlicht. Version 1.1.2 enthält diese Commits.
Fehlerkorrekturen
- Die
NavigationEvent-Abhängigkeit wurde auf Version 1.1.1 aktualisiert. Dadurch wurde die No-Op-FunktionNavigationEventHandlerim Inspektionsmodus entfernt, um die Funktion „Vorhersagende Zurück-Geste“ in Android Studio-Vorabversionen zu aktivieren.
Version 1.1.1
22. April 2026
androidx.navigation3:navigation3-*:1.1.1 ist veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
- Wenn Sie über ein
OverlaySceneaufLocalNavAnimatedContentScopezugreifen, wird keinIllegalStateExceptionmehr ausgelöst, daOverlayScenesjetzt ein No-Op-LocalAnimatedContentScopeerhalten. (I2f00c, b/486067688)
Version 1.1.0
8. April 2026
androidx.navigation3:navigation3-*:1.1.0 ist veröffentlicht. Version 1.1.0 enthält diese Commits.
Version 1.1.0 ist jetzt stabil
Wichtige Änderungen seit Version 1.0.0
Gemeinsame Elemente zwischen Szenen
- Navigation3 unterstützt jetzt die Behandlung von Szenen als Objekt für gemeinsame Elemente. So können Sie dafür sorgen, dass die Übergänge zwischen den Szenen flüssig sind. Sie können diese Funktion aktivieren, indem Sie entweder NavDisplay oder rememberSceneState eine SharedTransitionScope übergeben.
SceneDecoratorStrategy
– Einführung von SceneDecoratorStrategy zur Unterstützung von Anwendungsfällen wie dem Dekorieren von Szenen mit gängigen UI-Komponenten oder dem Teilen von Status zwischen Szenen.
NavMetadata DSL
- Navigation3 bietet jetzt eine neue typsichere Metadaten-DSL. Die DSL verwendet eine neue MetadataKey-Schnittstelle, mit der die Schlüssel- und Werttypen definiert werden können, die in der Metadatenzuordnung enthalten sein sollen. Außerdem wurden neue NavMetadataKeys für NavDisplay-Übergänge hinzugefügt, damit sie mit der neuen Metadaten-DSL verwendet werden können, um NavDisplay Übergänge hinzuzufügen.
OverlayScene-Animationen
– Die OverlayScene-Schnittstelle hat einen neuen onRemoved-Callback zum Anhalten. Dieser Callback wird aufgerufen, nachdem ein Schlüssel, der der Szene zugeordnet ist, aus dem Backstack entfernt wurde, aber bevor er die Komposition verlässt. So können Exit-Animationen, die in onRemovedaufgerufen werden, abgeschlossen werden, bevor die Overlay-Szene aus der Komposition entfernt wird.
Weitere Änderungen
- NavDisplay und rememberSceneState verwenden jetzt ein List<SceneStrategy> anstelle des bisherigen einzelnen SceneStrategy-Parameters, der durch das Infix then verkettet wurde.
– Sie können jetzt dynamisch Metadaten hinzufügen, wobei der Eintragschlüssel über die EntryProvider-DSL berücksichtigt wird.
Version 1.1.0-rc01
25. März 2026
androidx.navigation3:navigation3-*:1.1.0-rc01 ist veröffentlicht. Version 1.1.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Durch
NavDisplaywird jetzt dafür gesorgt, dass Einträge, die unter Overlays angezeigt werden, einLifecyclevon maximalSTARTEDhaben. So wird sichergestellt, dass APIs wiedropUnlessResumedweiterhin funktionieren, wenn Dialogfelder verwendet werden. (If209f, b/483966071) - Ein Problem in
NavDisplaywurde behoben, bei dem die Z-Reihenfolge der Bildschirme falsch sein konnte, wenn zwischen denselben Bildschirmen hin- und hergewechselt und die Animationen zwischen den beiden unterbrochen wurden. (I4d491, b/459419800)
Version 1.1.0-beta01
11. März 2026
androidx.navigation3:navigation3-*:1.1.0-beta01 ist veröffentlicht. Version 1.1.0-beta01 enthält diese Commits.
Version 1.1.0-alpha05
25. Februar 2026
androidx.navigation3:navigation3-*:1.1.0-alpha05 ist veröffentlicht. Version 1.1.0-alpha05 enthält diese Commits.
API-Änderungen
NavDisplayundrememberSceneStateverwenden jetzt einList<SceneStrategy>anstelle des bisherigen einzelnenSceneStrategy-Parameters, der durch das Infixthenverkettet wurde. Das entspricht eher demList<SceneDecoratorStrategy<T>>, das beide APIs bereits verwenden. Die bisherigen APIs werden nicht mehr unterstützt. (I78b2c, b/482108465)- Es wurde ein Operator „#contains“ für Metadaten hinzugefügt, um zu prüfen, ob die Metadatenzuordnung das angegebene
NavMetadataKeyenthält. (Ic30db, b/485311895) NavMetadataKeyDialogKeyfürDialogSceneStrategyzur Verwendung mit Metadata DSL hinzugefügt. (Ic7a26, b/483388817)
Version 1.1.0-alpha04
11. Februar 2026
androidx.navigation3:navigation3-*:1.1.0-alpha04 ist veröffentlicht. Version 1.1.0-alpha04 enthält diese Commits.
Neue Funktionen
- Navigation3 bietet jetzt eine neue typsichere Metadaten-DSL. Die DSL verwendet eine neue
MetadataKey-Schnittstelle, mit der die Schlüssel- und Werttypen definiert werden können, die in der Metadatenzuordnung enthalten sein sollen. Außerdem wurden neueNavMetadataKeys fürNavDisplay-Übergänge hinzugefügt, damit sie mit der neuenmetadata-DSL verwendet werden können, umNavDisplayÜbergänge hinzuzufügen. (Ic10ef, Ic049c,b/476213928)
API-Änderungen
- Die
OverlayScene-Schnittstelle hat einen neuenonRemoved-Callback zum Anhalten. Dieser Callback wird aufgerufen, nachdem ein Schlüssel, der der Szene zugeordnet ist, aus dem Backstack entfernt wurde, aber bevor er die Komposition verlässt. So können Exit-Animationen, die inonRemovedaufgerufen werden, abgeschlossen werden, bevor die Overlay-Szene aus der Komposition entfernt wird. (I29a72, b/440558061) SceneStrategyhat die Dekorationsfunktion in eine neueSceneDecoratorStrategyaufgeteilt. Diese neue Schnittstelle sollte zum Dekorieren von Szenen verwendet werden. Es gibt neue APIs fürNavDisplayundrememberSceneState, mit denenSceneDecoratorStrategieshinzugefügt werden kann. (If9385, b/477669607, b/477670333)
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem das Übergeben eines
SharedTransitionLayoutanNavDisplayoderrememberSceneStateund die Verwendung vonOverlayScenezu einem Absturz führte, daSharedTransitionLayoutnur mitNavEntriesfunktioniert, die als Teil vonAnimatedContentgerendert werden, undOverlaySceneseparat in eigenen Fenstern gerendert werden. (I1bb76, b/478664101)
Abhängigkeitsupdate
- Ab
Navigation31.0.1:Navigation3hängt jetzt vonNavigationEvent1.0.2 ab. Dadurch wird einIllegalStateExceptionbehoben, der durch die Verwendung vonNavDisplaywährend derAndroidStudio-Vorschauversionen verursacht wurde. (Id7212, b/477149762)
Version 1.1.0-alpha03
28. Januar 2026
androidx.navigation3:navigation3-*:1.1.0-alpha03 ist veröffentlicht. Version 1.1.0-alpha03 enthält diese Commits.
Neue Funktionen
- Sie können jetzt dynamisch Metadaten hinzufügen, wobei der Eintragsschlüssel über die
EntryProvider-DSL berücksichtigt wird. (I942fb, b/474416976)
Version 1.1.0-alpha02
14. Januar 2026
androidx.navigation3:navigation3-*:1.1.0-alpha02 ist veröffentlicht. Version 1.1.0-alpha02 enthält diese Commits.
Neue Funktionen
SceneStrategyunterstützt jetzt das Verschachteln von Szenen über die neue FunktioncalculatedScene(Scene). Das bedeutet, dassSceneStrategyangepasst werden können, um anderen Szenen zusätzliche Funktionen zu bieten. (I5df7c,b/440333896)
Version 1.1.0-alpha01
3. Dezember 2025
androidx.navigation3:navigation3-*:1.1.0-alpha01 ist veröffentlicht. Version 1.1.0-alpha01 enthält diese Commits.
API-Änderungen
Navigation3unterstützt jetzt die Behandlung von Szenen als gemeinsam genutztes Elementobjekt. So können Sie dafür sorgen, dass die Übergänge zwischen den Szenen flüssig sind. Sie können diese Funktion aktivieren, indem Sie entwederNavDisplayoderrememberSceneStateeineSharedTransitionScopeübergeben. (I15868)
Version 1.0
Version 1.0.1
11. Februar 2026
androidx.navigation3:navigation3-*:1.0.1 ist veröffentlicht. Version 1.0.1 enthält diese Commits.
Abhängigkeitsupdate
Navigation3ist jetzt vonNavigationEvent1.0.2 abhängig. Dadurch wird einIllegalStateExceptionbehoben, der durch die Verwendung vonNavDisplaywährend derAndroidStudio-Vorschauversionen verursacht wurde. (Id7212, b/477149762)
Version 1.0.0
19. November 2025
androidx.navigation3:navigation3-*:1.0.0 ist veröffentlicht. Version 1.0.0 enthält diese Commits.
Navigation3
- Die Navigation3-Bibliothek ist jetzt stabil. Navigation3 ist der erste Ansatz für die Navigation in AndroidX Compose.
- Weitere Informationen finden Sie in unserem Blogpost zur Ankündigung, auf der Seite Ressourcen und in den Rezepten.
Version 1.0.0-rc01
5. November 2025
androidx.navigation3:navigation3-*:1.0.0-rc01 ist veröffentlicht. Version 1.0.0-rc01 enthält diese Commits.
Fehlerkorrekturen
NavDisplaylegt jetzt einenLocalLifecycleOwnerauf derScene-Ebene fest, mit dem Szenenautoren prüfen können, ob alle Übergänge abgeschlossen sind, indem sie prüfen, obLifecycle.StateRESUMEDist. Das Verhalten vonLocalLifecycleOwnerauf der EbeneNavEntryist unverändert: Es bleibt auch beiSTARTED, wenn ein Übergang läuft, und wird zusätzlich beiCREATEDbegrenzt, wennNavEntryaus dem Backstack entfernt wurde und gerade animiert wird. (I03113, b/454045829)
Version 1.0.0-beta01
22. Oktober 2025
androidx.navigation3:navigation3-*:1.0.0-beta01 ist veröffentlicht. Version 1.0.0-beta01 enthält diese Commits.
API-Änderungen
SceneStrategyScopehat jetzt nur noch einen öffentlichen Konstruktor ohne Argumente, der sich für das isolierte Testen vonSceneStrategyund dem zurückgegebenenSceneeignet. Für komplexere Anwendungsfälle verwenden Sie bitterememberSceneState(). (I8440c, b/451679047)
Fehlerkorrekturen
- Eine Endlosschleife beim Verketten von
SceneStrategymitthenwurde behoben. (Iba3f0, b/450323470) - Das Bildschirmflackern beim Tauschen des an
NavDisplayübergebenenbackStackund bei Verwendung von Animationen wurde behoben. (Ief7b5, b/450967248)
Version 1.0.0-alpha11
8. Oktober 2025
androidx.navigation3:navigation3-*:1.0.0-alpha11 ist veröffentlicht. Version 1.0.0-alpha11 enthält diese Commits.
API-Änderungen
- Die Methode
calculateScenefürSceneStrategyist nicht mehr@Composable. Stattdessen sollten Sie diese Arbeit in die Erstellung IhrerSceneStrategy-Methode (d.h. in einerememberMySceneStrategy()-Methode) verlagern, mit der Sie die Lebensdauer allerrememberSaveable-Werte oder wichtigenremember-Anweisungen auf der Grundlage der richtigen Werte vollständig definieren können. (If1733, b/448709506) - Der Parameter
onBackfürSceneStrategy.calculateScenewurde in den neuen EmpfängerbereichSceneStrategyScopeverschoben, um deutlicher zu machen, dass es sich um einen optionalen Parameter handelt, und um einen Erweiterungspunkt für zukünftige Navigation3-Funktionen zu schaffen. (I3aea3, b/448460407) - Die Lambda-Funktion
onBack, die anNavDisplayund an IhreSceneStrategyübergeben wird, enthält keinencount: Int-Parameter mehr, der angibt, wann mehrere Einträge entfernt werden sollen. Stattdessen wird die() -> Unit-Lambda-Funktion jetzt mehrmals hintereinander aufgerufen, wenn in Ihrer Szene mehrere Einträge angefordert werden. (Idedb5, b/446989346) - Entfernen Sie die
NavEntryWrapper-Klasse und ersetzen Sie ihre Funktionalität durch eine finaleNavEntry-Klasse mit einem neuen sekundären Konstruktor, der einNavEntrymit neuem Inhalt akzeptiert. So kann ein Eintrag weiterhin mit neuen Inhalten umbrochen werden. (I7da2a, b/444447130) - Die Funktion
navEntryDecorator, die einNavEntryDecoratorerstellt und zurückgibt, wurde entfernt und durch die KlasseNavEntryDecoratorersetzt, die jetzt öffentlich und für die Unterklassifizierung verfügbar ist. (If81f8, b/444447434, b/447381176) SavedStateNavEntryDecoratorwurde inSaveableStateHolderNavEntryDecoratorumbenannt, da Einträge damit mit einemSaveableStateHolderversehen werden. Der Decorator wurde auch von einer Funktion zu einer Klasse umgestaltet, da er funktional eine Factory fürNavEntryDecoratorist. (Ie6013, b/447381176)- Für benutzerdefinierte Displays, die
SceneStateanstelle vonNavDisplayverwenden, ist die Verwendung der KompositionLocalEntriesToRenderInCurrentScenenicht mehr erforderlich. Diese ist jetzt intern. (Ic40ef, b/414668196) SceneSetupNavEntryDecoratorundrememberSceneSetupNavEntryDecorator()wurden aus der öffentlichen API entfernt. Diese Funktion ist jetzt standardmäßig enthalten, ohne dass Sie sie manuell einfügen müssen. (Ieae42, b/444479133)NavEntry,DialogScene,SinglePaneSceneundSceneStateimplementieren jetzt alle „equals“. (I96121)- Die Szenenoberfläche hat ein neues Metadatenfeld, mit dem szenenspezifische Metadaten für NavDisplay angehängt werden können. So kann eine Szene die Metadaten für
NavDisplayüberschreiben, z. B. mit Übergängen. (I1fd96, b/443955625) - Vereinfachen Sie die Signatur von
rememberNavBackStack, indem Sie den redundanten generischen Typparameter entfernen. Die Funktion akzeptiert jetztvararg elements: NavKey. (I03e45) - Die Standardanimationen für
NavDisplaysind jetzt Teil der gemeinsamen API, sodass sie von allen Plattformen aus aufgerufen werden können. (I71af9, b/447147159) - Benennen Sie
EntryProviderBuilderinEntryProviderScopeum, um genau widerzuspiegeln, dass die Klasse eine Kotlin-DSL ist, die einen Bereich zum Erstellen vonNavEntriesbietet. (Ia7465)
Fehlerkorrekturen
rememberNavBackStack()erzwingt jetzt die polymorphe Serialisierung für NavKey und erfordert ein benutzerdefiniertesSavedStateConfiguration, das für die korrekte Wiederherstellung des Status konfiguriert ist. Die KDoc-Dokumentation wurde aktualisiert, um der Anforderung Rechnung zu tragen, dass alle NavKey-Untertypen im bereitgestellten SerializersModule registriert werden müssen. (I6de37,I782f2, b/446664383)
Version 1.0.0-alpha10
24. September 2025
androidx.navigation3:navigation3-*:1.0.0-alpha10 ist veröffentlicht. Version 1.0.0-alpha10 enthält diese Commits.
API-Änderungen
- Fügen Sie eine neue
NavDisplay-Überladung hinzu, die eine Liste vonNavEntry<T>akzeptiert, die mitrememberDecoratedNavEntriesdekoriert wurde. (I4025b, b/441940314) DialogScenewurde in ein neues Paket verschoben. (Ia5840)- Entfernen Sie die öffentliche API
DecorateNavEntry. Verwenden Sie stattdessenrememberDecoratedNavEntries, um einen NavEntry mit einer Liste von Dekoratoren zu umschließen. (Id8c09) - Die Navigation3-Benutzeroberfläche bietet jetzt neue Standard-
transitionSpec-Properties. (Ibcabd) - Ein neues
SceneState-Objekt wurde hinzugefügt, um die Verwaltung von Szenen zu erleichtern. Außerdem gibt es eine neueNavDisplay-Überladung, dieSceneStateundNavigationEventStateakzeptiert. (Idfb46, b/444479133) - Mit
NavDisplaykönnen Sie die Übergänge jetzt anpassen. Dazu wird dieScene-Ausrichtung anhand derTransition-WertecurrentStateundtargetStatebestimmt. (I906cc, b/443872322) NavigationEventInfoist jetzt einabstract classstatt einesinterface. Aktualisieren Sie alle benutzerdefinierten Implementierungen, damit sie von der Klasse erben (z. B.data class MyInfo : NavigationEventInfo()). (I1e59c, b/444734264)- Die Handler-APIs für
navigationevent-composewurden aktualisiert.NavigationEventHandlerundNavigationBackHandler(und Varianten) unterstützen jetzt eine neue Überladung, die gehosteteNavigationEventStates akzeptiert. Die einfachen Überladungen (mitcurrentInfo) bleiben erhalten und verwenden jetzt intern dieses neue Statusmodell. (Ic3251, b/444734264) - Alle Scene APIs wurden von navigation3-ui zu navigation3-runtime verschoben. Das bedeutet, dass sie jetzt auf allen Plattformen verfügbar sind, die von navigation3-runtime unterstützt werden. (I431d0, b/444449993)
- Es wurde eine neue
rememberDecoratedNavEntries-Überladung hinzugefügt, die eine Liste vonNavEntryzum Dekorieren verwendet. Die Eingabe kann bereits mit anderen Eintragsdekorationen versehen sein. (I5a034, b/444230270) - Parameter vom Typ „navigation3“-Wildcard entfernen (I02540)
- Die Verarbeitung von Generics für die
entryProvider-DSL wurde verbessert. Wenn Sie zuvorandroidx.navigation3.runtime.entryimportiert haben, ist dies nicht mehr erforderlich. (I299fc) - Beschränken Sie die auf Reflexion basierende
NavBackStackSerializer-Überladung auf Android. Dadurch werden implizite Serialisierungsfehler zur Laufzeit auf Nicht-Android-Plattformen verhindert, da die Verwendung der explizitenSavedStateConfiguration-Überladung in Multiplattformcode erzwungen wird. (I73313, b/420443609) - Make
NavigationEvent'sswipeEdgean@IntDef(Icee54, b/443950342) - Beschränken Sie die
NavBackStack-Serialisierung auf Android. So werden Laufzeitfehler auf Nicht-Android-Plattformen verhindert. Verwenden Sie für das plattformübergreifende Speichern des Status dierememberNavBackStack-Überladung mit einem explizitenSavedStateConfiguration. (I1e418, b/420443609)
Fehlerkorrekturen
- Behebt einen Absturz während der Vorhersage für die Zurück-Geste, wenn ein verschachteltes
NavDisplayeinen einzelnen untergeordneten Eintrag hat. (I2cdc0, b/441933162)
Version 1.0.0-alpha09
10. September 2025
androidx.navigation3:navigation3-*:1.0.0-alpha09 ist veröffentlicht. Version 1.0.0-alpha09 enthält diese Commits.
API-Änderungen
DecoratedNavEntryProviderwurde durchrememberDecoratedNavEntriesersetzt, das NavEntries erstellt und zurückgibt, die mit der Liste der bereitgestellten Dekoratoren (I0fe1c, b/441328236) versehen sind.NavBackStackist jetzt generisch über den TypNavKey. So können Apps und Bibliotheken benutzerdefinierte Schlüsseltypen für ihre Backstacks definieren, anstatt aufNavKeybeschränkt zu sein. (I4d190,Iad2f4, b/420443609)NavBackStackist 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)RememberNavBackStackwurde zucommonMainverschoben, damit es auf allen Plattformzielen verfügbar ist. (Id69e7, b/420443609)
Fehlerkorrekturen
NavDisplayverschiebt jetzt jede einzelneNavEntrykorrekt in die richtigeLifecycle.State. (I30aac, b/440145700)- Ein Problem wurde behoben, bei dem
NavDisplayalle verschachteltenNavigationEventDispatcherOwnerignorierte, die überLocalNavigationEventDispatcherOwnerderNavigationEvent-Bibliothek festgelegt wurden. (I6224a)
Änderungen bei 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 ist veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.
Neue Funktionen
- Den
Navigation3 Runtime-Artefakten wurden neue KMP-Ziele (Kotlin Multiplatform) hinzugefügt.Navigation3 Runtimeunterstützt jetzt 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 benutzerdefinierteNavDisplayimplementieren. 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 demNavDisplayabzurufen. (Ibc91f)
API-Änderungen
- Es wurde ein neues
NavBackStackSerializerhinzugefügt, das in Verbindung mitrememberNavBackStackverwendet 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
- Es wurde ein Problem behoben, bei dem durch die Navigation falsche Lebenszyklusereignisse ausgelöst wurden. (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
NavEntrybereitgestelltekeykeinStringist oder IhrNavEntrydencontentKeynicht überschrieben und auf denkeygesetzt hat. Dadurch wird erzwungen, dass Ihr Schlüssel in einemBundlegespeichert 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 ist 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
SavedStateNavEntryDecoratorverwendet jetzt die inSaveableStateProviderintegrierteSaveableStateRegistry, um Zustände zu speichern und wiederherzustellen. (If8d9a)predictivePopTransitionSpecerhä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, das dazu führte, dass 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-alpha06ab.
Version 1.0.0-alpha06
30. Juli 2025
androidx.navigation3:navigation3-*:1.0.0-alpha06 ist veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.
Abhängigkeitsupdate
- Navigation3 hängt jetzt von Navigation Event
1.0.0-alpha05ab.
Version 1.0.0-alpha05
2. Juli 2025
androidx.navigation3:navigation3-*:1.0.0-alpha05 ist veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.
Geändertes Verhalten
- Der Status von
NavEntrybasiert 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 ob die Einträge entfernt worden wären (anstatt eines Tauschs). (I7a759, b/428033667)
Version 1.0.0-alpha04
18. Juni 2025
androidx.navigation3:navigation3-*:1.0.0-alpha04 ist veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.
API-Änderungen
NavEntry.contentist 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.keyist jetzt ein privates Feld. DieNavEntryund die zugehörigen Status sollten über das neue FeldcontentKeyidentifiziert werden, das aus der neuen Lambda-FunktioncontentKeyFactorygeneriert wird und standardmäßig einen speicherbaren Hash enthält, der ausNavEntry.keygeneriert wird (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).
Änderungen bei 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 ist veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
Navigation3lö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 ist veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.
Fehlerkorrekturen
- Ein Problem mit dem
SavedStateNavEntryDecoratorwurde 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 führte, 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 ist 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.