navigation3
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 9. September 2026 | 1.1.7 | 1.2.0-rc01 | - | - |
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-alpha07" implementation "androidx.navigation3:navigation3-ui:1.2.0-alpha07" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.2.0-alpha07") implementation("androidx.navigation3:navigation3-ui:1.2.0-alpha07") }
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-rc01
9. September 2026
androidx.navigation3:navigation3-*:1.2.0-rc01 ist veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Doppelte Platzhalternamen in Deeplink-URI-Mustern sind nicht zulässig. (I8985c, b/522343165)
Version 1.2.0-beta01
26. August 2026
androidx.navigation3:navigation3-*:1.2.0-beta01 ist veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
API-Änderungen
DeepLinkRequest.extraswurde vonMap<String, Any>in eine neue typsichere kartenähnliche KlasseRequestExtrasumgestaltet, in der Paare vonRequestExtrasKey<T>bisTgespeichert werden.RequestExtraskann mit derrequestExtras-DSL instanziiert werden. (Ic929d, b/543883369)
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem vorhersagende Zurück-Gesten, die während eines Übergangs nach vorn ausgelöst werden, nicht entsprechend dem Wischfortschritt animiert werden. Die Animation für die intelligente „Zurück“-Touchgeste wird jetzt richtig animiert und abgeschlossen. (Icdcb0, b/456218398)
- Es wurde eine Lint-Prüfung hinzugefügt, um sicherzustellen, dass
Scene-Implementierungen entweder Datenklassen sind oder „equals“ und „hashcode“ implementieren, damit bei Bedarf dasselbeSceneverwendet wird. (Ibdf0d, b/542316099) NavEntry.contentKeyist jetzt standardmäßig ein zusammengesetzter Wert auskey.toString()undkey::class.toString(). So wird sichergestellt, dass Datenobjekte mit demselben Namen, die aber unterschiedliche Schnittstellen implementieren, nicht mehr denselbencontentKeyhaben. Diekey::classder JS-Plattform gibt jedoch nur den einfachen Klassennamen anstelle des voll qualifizierten Namens zurück. Daher sollte die JS-Plattform weiterhin eine benutzerdefiniertecontentKeyfür Datenobjekte mit doppelten Namen implementieren. (I1fbbb, b/512534342)- Der Fehler
IllegalArgumentException, der vonSaveableStateProviderfür doppelte Schlüssel ausgelöst wurde, die bei der schnellen Rückwärtsnavigation verwendet wurden, wenn mehrere Pop-Übergänge ausgeführt wurden, wurde behoben. (I4d728, b/516312097)
Version 1.2.0-alpha07
29. Juli 2026
androidx.navigation3:navigation3-*:1.2.0-alpha07 ist veröffentlicht. Version 1.2.0-alpha07 enthält diese Commits.
API-Änderungen
- Es wurde eine abstrakte
WrappedMatchResult-Klasse hinzugefügt, um eine weitereDeepLinkMatcher.MatchResultzu umschließen. So können benutzerdefinierte Abgleichsergebnisse übereinander gelegt werden. (I7d4dc, b/470282247) Die neue Klasse
BackStackMatcherwurde hinzugefügt. Sie verwendet zwei Parameter: eine Matcher-Instanz und eine Builder-Lambda-Funktion, die das Ergebnis des Eingabe-Matchers zurückgibt und einen Backstack zurückgibt. Bei einer erfolgreichen Übereinstimmung gibtBackStackMatchereinBackStackMatchResultzurück, dasWrappedMatchResulterweitert und das ursprüngliche Übereinstimmungsergebnis sowie den mit dem Lambda erstellten Backstack enthält. DerBackStackMatcherkann nur mit der neuen ErweiterungsfunktionDeepLinkMatcher.withBackStackerstellt werden. (Ibf987, b/470282247)Es wurde eine abstrakte
DeepLinkSerializer-Klasse hinzugefügt, dieKSerializererweitert, umvalue : TalsStringzu codieren und zu decodieren. MitDeepLinkSerializerkönnen nicht primitive Deeplink-Argumente serialisiert werden. Kompatibel mitrememberSaveableundrememberNavBackStack. (Id3c9f, b/470282247)DeepLinkMatcherhat einen zweiten Typparameterout R : DeepLinkMatcher.MatchResult<T>hinzugefügt, damit Entwickler ohne Typumwandlung auf die Attribute der untergeordneten KlasseMatchResultzugreifen können, die vonDeepLinkMatcher.match()zurückgegeben wird. (I693d3, b/470282247)Die Obergrenze für
DeepLinkMatcher.MatchResult'sT hat sich vonAny?zuAnygeändert. (I6bf1a)Das Konstruktorfeld
DeepLinkRequesturiist jetzt standardmäßig auf „null“ gesetzt. Der sekundäre KonstruktoruriStringwurde inuriumbenannt. (Ia0f14, b/522194187)
Fehlerkorrekturen
ResultEffectverwendet jetztrememberUpdatedState, um die neuesteonResult-Lambda zu erfassen. (I7d2a3, b/531709234)- Die Deeplink-Abstimmung für leere Pfadsegmente wurde korrigiert. Wenn der Argumenttyp „String“ ist, wird der leere Pfad als leerer Stringwert behandelt. Andernfalls wird der leere Pfad so behandelt, als wäre kein Wert angegeben worden, und es wird auf den Standardwert zurückgegriffen. Wenn kein Standardwert vorhanden ist, schlägt der Abgleich fehl. (I56575, b/535298128)
- Unterstützung für leere Abfragewerte in
DeepLinkRequest.urihinzugefügt. Wenn das Argument vom Typ „String“ ist, wird der leere Wert als leerer String behandelt. Andernfalls wird der leere Wert so behandelt, als wäre kein Wert angegeben. Beim Abgleich wird dann versucht, auf den Standardwert zurückzugreifen. Wenn kein Standardwert vorhanden ist, schlägt der Abgleich fehl. (I30343, b/535127459) - Bei
EntryProviderwird jetzt der Abgleich anhand von Schlüsselinstanzen gegenüber Schlüsseltypen priorisiert. (Ib5ec9, b/533331924) SceneStateberechnet jetzt vorherige Szenen korrekt, beginnend mit der obersten Szene, die kein Overlay ist. (I91915, b/513630541)
Version 1.2.0-alpha06
15. Juli 2026
androidx.navigation3:navigation3-*:1.2.0-alpha06 ist veröffentlicht. Version 1.2.0-alpha06 enthält diese Commits.
Fehlerkorrekturen
- Die
UriDeepLinkMatcher-Dokumentation zu URI-Fragmenten wurde korrigiert, um zu verdeutlichen, dass Fragmente mit Platzhaltern mit jeder Eingabe übereinstimmen, die Eingabe jedoch nicht als Argumente extrahiert wird. (I5ad9b, b/524677091) - Das Problem, dass
UriDeepLinkMatchernicht mit einer Anfrage übereinstimmte, wenn das URI-Muster kein Schema enthielt oder nicht mit einem doppelten Schrägstrich begann, wurde behoben. Beispiel:www.example.com/homestimmt jetzt mithttp://www.example.com/homeüberein. (Ia6b65, b/522791926)
Version 1.2.0-alpha05
01. 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
Intentakzeptiert. (Ia0498, b/513200887, b/522194187) - Alle Konstruktoren haben ein zusätzliches
extras-Feld für einMap<String, Any>, um zusätzliche Anfrageinformationen anzuhängen. (If81d5, b/513200887) - Eine neue
requestExtras-DSL wird als typsichere Methode zum Erstellen einer Karte mit Extras hinzugefügt. Die DSL bietet eineput-Funktion zum Speichern von Paaren ausRequestExtrasKeyundAny. Mit der ErweiterungsfunktionMap<String, Any>.get(key)können Daten aus der Karte mit einemRequestExtrasKey(I5091c, b/513200887) gelesen werden. - (Nur Android) Die Funktionen
ActionExtrasKeyundactionExtrawurden hinzugefügt, um eine Extras-Karte mitActionExtrasKeyzu erstellen. (Id0c90, [b/513200887] - Es wurde eine
MimeTypeExtrasKey- undmimeTypeExtra-Funktion hinzugefügt, um eine Extras-Karte mitMimeTypeExtrasKeyzu erstellen. (I85131, b/513200887)
DeepLinkMatcher
- Die Funktionen
DeepLinkMatcher.mimeTypeFilterundDeepLinkMatcher.actionFilterwurden hinzugefügt, umDeepLinkMatcher.Filterszu erstellen, mit demDeepLinkRequestnachmimeTypeoderactiongefiltert wird (nur Android). Bei beiden Filtern wird nach Stringgleichheit gesucht, wobei die Groß- und Kleinschreibung nicht berücksichtigt wird. (Ie7e67, b/513191950)
API-Änderungen
DeepLinkRequest
- Entfernen Sie die
fromAction-Werksfunktion. Verwenden Sie das neue FeldDeepLinkRequest.extras, um eine Anfrage zu erstellen, die mit einer Aktion verknüpft ist.(Id0c90, b/513200887) - Die
fromMimeType-Werksfunktion wurde entfernt. Verwenden Sie das neue FeldDeepLinkRequest.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 Werkseinstellungen für die Funktionen
fromUriundfromUriStringwurden entfernt. Wird durch neue Konstruktoren ersetzt, die entweder einenDeepLinkUrioder einen Rohstring-URI verwenden. (Id5b6f, b/522194187) DeepLinkMatcher,DeepLinkMatcher.MatchResultund ihre Unterklassen verwenden jetzt ein kovariantes T (out T), sodass für hierarchische Schlüssel bei Verwendung mit Matchers keine Typumwandlung erforderlich ist. (I1e453, b/525094876)- Der Konstruktorparameter
UriMatchResultfür die Argumentzuordnung hat jetzt standardmäßig eine leere Zuordnung. (I3acdd) - Die abstrakte Klasse
DeepLinkMatcher.Filterist jetzt eine funktionale Schnittstelle. Das Konstruktorfeldfilterwurde entfernt und sollte stattdessen direkt in der abgeleiteten Klasse übergeben werden. (I9eb7d, b/522194187)
Fehlerkorrekturen
- Das Problem wurde behoben, dass ein eingeblendeter Eintrag sofort wieder verschwand, wenn er zu einem Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wurde. (Idb872, b/520494430)
- Der Fehler
UriDeepLinkMatcherwurde behoben. Er gibt jetzt einen Nullwert fürUriMatchResultzurück, anstattMissingFieldExceptionauszugeben, wenn beim Abgleich erforderliche Argumente fehlen. (I5322f, b/524663005) - Ein
UriDeeplinkMatchermit einem URI mit dem Schema „https“ kann nur mit Anfragen abgeglichen werden, die ebenfalls das Schema „https“ haben. (Ibfe22, b/522304329) - Der Fehler in
UriDeepLinkMatcherwurde behoben, sodass dashttp-Schema korrekt als positive Übereinstimmung mithttpserkannt wird, wenn einDeepLinkRequestmit einemUriDeepLinkMatcherabgeglichen wird. (I3a62b, b/518804264) - Der
DeepLinkMatcher.MatchResult-Vergleich gibt jetzt standardmäßig 0 zurück, wenn zwei Ergebnisse gleich sind. (I48ddb, b/518841353) UriDeepLinkMatchergibt jetzt einen Nullwert fürUriMatchResultzurü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 „action“ (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 mit mehreren Matchern verknüpft sein. Wenn SieDeepLinkMatcher.matchaufrufen, wird einMatchResultzurückgegeben, das den zugehörigen Navigationsschlüssel enthält, wenn eine Übereinstimmung gefunden wird. Es gibt zwei Standardimplementierungen fürDeepLinkMatcher: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)UriDeepLinkMatcherist eine meinungsbasierte Implementierung vonDeepLinkMatcher, die Deeplinks verarbeitet, indemDeepLinkUrimit einem serialisierbaren Navigationsschlüssel abgeglichen wird. Es werden Deeplink-Argumente von einfachen Typen oder Sammlungen von einfachen Typen 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
- Das
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-Rückwärtsnavigation 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, der 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
- Der Zugriff auf
LocalNavAnimatedContentScopeüber einOverlaySceneführt nicht mehr zu einemIllegalStateException, daOverlayScenesjetzt mit einem No-Op-LocalAnimatedContentScopebereitgestellt werden. (I2f00c, b/486067688)
Navigation3 Version 1.1
Version 1.1.7
26. August 2026
androidx.navigation3:navigation3-*:1.1.7 ist veröffentlicht. Version 1.1.7 enthält diese Commits.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem vorhersagende Zurück-Gesten, die während eines Übergangs nach vorn ausgelöst werden, nicht entsprechend dem Wischfortschritt animiert werden. Die Animation für die intelligente „Zurück“-Touchgeste wird jetzt richtig animiert und abgeschlossen. (Icdcb0, b/456218398)
Version 1.1.6
12. August 2026
androidx.navigation3:navigation3-*:1.1.6 ist veröffentlicht. Version 1.1.6 enthält diese Commits.
Fehlerkorrekturen
NavEntry.contentKeyist jetzt standardmäßig ein zusammengesetzter Wert auskey.toString()undkey::class.toString(). So wird sichergestellt, dass Datenobjekte mit demselben Namen, die aber unterschiedliche Schnittstellen implementieren, nicht mehr denselbencontentKeyhaben. Diekey::classder JS-Plattform gibt jedoch nur den einfachen Klassennamen anstelle des voll qualifizierten Namens zurück. Daher sollte die JS-Plattform weiterhin eine benutzerdefiniertecontentKeyfür Datenobjekte mit doppelten Namen implementieren. (I1fbbb, b/512534342)- Der Fehler
IllegalArgumentException, der vonSaveableStateHolderfür die Schlüsselwiederverwendung ausgelöst wurde, wurde behoben. Er trat auf, wenn aufgrund des schnellen Entfernens von Elementen aus dem Backstack mehrere Pop-Übergänge gleichzeitig ausgeführt wurden. (I4d728, b/516312097)
Version 1.1.5
29. Juli 2026
androidx.navigation3:navigation3-*:1.1.5 ist veröffentlicht. Version 1.1.5 enthält diese Commits.
Fehlerkorrekturen
- Die
entryProvider-DSL priorisiert jetztNavEntry, die mit einer Schlüsselinstanz erstellt wurden, z. B.entry(key = userKey) { ... }, gegenüberNavEntry, die mit einer Schlüsselklasse wieentry<UserKey>{ ... }erstellt wurden.(Ib5ec9, b/533331924)
Version 1.1.4
01. Juli 2026
androidx.navigation3:navigation3-*:1.1.4 ist veröffentlicht. Version 1.1.4 enthält diese Commits.
Fehlerkorrekturen
- Das Problem wurde behoben, dass ein eingeblendeter Eintrag sofort wieder verschwand, wenn er zu einem Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wurde. (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
- Der Zugriff auf
LocalNavAnimatedContentScopeüber einOverlaySceneführt nicht mehr zu einemIllegalStateException, daOverlayScenesjetzt mit einem No-Op-LocalAnimatedContentScopebereitgestellt werden. (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 mit gemeinsam genutzten Elementen. 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 onRemoved aufgerufen 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 Zugangscode ü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. Wenn Nutzer zwischen denselben Bildschirmen hin- und herwechselten und die Animationen zwischen den beiden unterbrachen, konnte die Z-Reihenfolge der Bildschirme falsch sein. (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 jetztList<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. Damit 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 Zugangscode ü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. Damit 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 der EbeneScenefest, 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 einerrememberMySceneStrategy()-Methode) verlagern, mit der Sie die Lebensdauer vonrememberSaveable-Werten 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 Ihre Szenenanfragen mehrere Einträge enthalten. (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 Unterklassenbildung 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 zum Anhängen von szenenspezifischen Metadaten für NavDisplay. 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. KDoc 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
navigationevent-compose-Handler-APIs wurden 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-Einträge können 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 intelligenten „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 ohne zusätzlichen Boilerplate-Code bei Prozessbeendigung und Konfigurationsänderungen 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 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 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
- Das Standard-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)predictivePopTransitionSpecwird jetzt mit dem Wischrand als Parameter bereitgestellt. So können Sie den Übergang anpassen, je nachdem, an 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 ausgetauscht 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 getauscht). (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. Dieses wird aus der neuen Lambda-FunktioncontentKeyFactorygeneriert und hat standardmäßig einen speicherbaren Hash, 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.