navigation3
| Letzte Aktualisierung | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| 23. September 2026 | 1.2.0 | - | - | 1.3.0-alpha01 |
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 unter Google-Repository bei Maven.
Fügen Sie die Abhängigkeiten für die benötigten Artefakte in der Datei build.gradle für Ihre App oder Ihr Modul hinzu:
Groovy
dependencies { implementation "androidx.navigation3:navigation3-runtime:1.3.0-alpha01" implementation "androidx.navigation3:navigation3-ui:1.3.0-alpha01" }
Kotlin
dependencies { implementation("androidx.navigation3:navigation3-runtime:1.3.0-alpha01") implementation("androidx.navigation3:navigation3-ui:1.3.0-alpha01") }
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.
Version 1.3
Version 1.3.0-alpha01
23. September 2026
androidx.navigation3:navigation3-*:1.3.0-alpha01 ist veröffentlicht. Version 1.3.0-alpha01 enthält diese Commits.
** Fehlerkorrekturen **
- Die Übergabe der Animation für die intelligente „Zurück“-Touchgeste in
NavDisplaywurde korrigiert, indem zuDeferredAnimatedContentmigriert und Probleme bei der Übergabe von Übergängen behoben wurden. I145eaedd b/430807423
Für dieses Artefakt sind keine Versionshinweise verfügbar.
Navigation3 Version 1.2
Version 1.2.0
23. September 2026
androidx.navigation3:navigation3-*:1.2.0 ist veröffentlicht. Version 1.2.0 enthält diese Commits.
Version 1.2.0 ist jetzt stabil
Wichtige Änderungen seit Version 1.1.0
Result API
- Mit dieser neuen API können Ergebnisse zwischen
NavEntriesüber die vonLocalResultEventBusundResultEventBusNavEntryDecoratorbereitgestellteResultEventBusübergeben werden. rememberResultEventBuswurde hinzugefügt, um das Hoisting einesResultEventBusaußerhalb vonResultEventBusNavEntryDecoratorzu unterstützen und es anrememberResultEventBusNavEntryDecoratorzu übergeben.- Auf übergebene Ergebnisse kann als Status mit
ResultEventBus#conflateAsStatezugegriffen oder sie können als Ergebnisfluss mitResultEffecterfasst werden.
Deep Link API
Navigation3 unterstützt jetzt KMP-Deeplinks (Kotlin Multiplatform) in androidx.navigation3.runtime.deeplink über DeepLinkRequest, DeepLinkUri und DeepLinkMatcher.
DeepLinkRequestundRequestExtras: Steht für eine Deeplink-Anfrage, die aus einemDeepLinkUri, einem URI-String oder einem Android-Intenterstellt wurde. Zusätzliche Anfragemetadaten können mit dem typsicherenRequestExtras-Container angehängt werden, der mit derrequestExtras-DSL undRequestExtrasKey<T>erstellt wurde.DeepLinkMatcher: Stellt einen Deeplink dar, 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 vonDeepLinkMatcher:UriDeepLinkMatcherfür den Abgleich von Deeplinks basierend aufUriundStaticKeyDeepLinkMatcherfür den Abgleich von Deeplinks mit nurDeepLinkMatcher.Filter, die über einen booleschen Wert übereinstimmen.BackStackMatcher: EinDeepLinkMatcherzum Erstellen eines synthetischen Backstacks bei einem erfolgreichen Deeplink-Abgleich.BackStackMatcherkönnen mit der ErweiterungsfunktionDeepLinkMatcher.withBackStackerstellt werden.
Predictive Back Handling
NavigationBackHandlerundrememberNavigationEventStatewurden hinzugefügt, um die Verbindung vonSceneStatemit der Verarbeitung von intelligenten „Zurück“-Gesten (onBackCompletedundonBackCancelled) zu vereinfachen. So können benutzerdefinierte UI-Komponenten die Rückwärtsnavigation und intelligente „Zurück“-Gesten unterstützen, ohne dass Backstack-Deltas manuell berechnet werden müssen.- Verbesserte Übergänge für intelligente „Zurück“-Gesten, einschließlich Unterstützung für intelligente „Zurück“-Gesten, die während Vorwärtsanimationen ausgelöst werden.
Weitere Änderungen
NavEntry.contentKeyist jetzt standardmäßig eine Kombination auskey.toString()undkey::class.toString(). So werden Schlüsselkonflikte zwischendata object-Schlüsseln verhindert, die in verschiedenen Schnittstellen denselben einfachen Namen haben.- Bei
EntryProviderwird jetzt die Übereinstimmung basierend auf Schlüsselinstanzen und nicht auf Schlüsseltypen priorisiert. - Es wurde ein Lint-Check hinzugefügt, um sicherzustellen, dass
Scene-Implementierungen entwederdata classsind oderequalsundhashCodeimplementieren.
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, durch das 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 ausgeführt. (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, die denselben Namen haben, 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 ausgegeben 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
- Eine abstrakte
WrappedMatchResult-Klasse wurde hinzugefügt, um eine andereDeepLinkMatcher.MatchResultzu umschließen. So können benutzerdefinierte Abgleichsergebnisse übereinander gelegt werden. (I7d4dc, b/470282247) Es wurde eine neue
BackStackMatcher-Klasse hinzugefügt, die zwei Parameter akzeptiert: eine Matcher-Instanz und eine Builder-Lambda-Funktion, die das Match-Ergebnis des Eingabe-Matchers bereitstellt 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 Eigenschaften der untergeordneten KlasseMatchResultzugreifen können, die vonDeepLinkMatcher.match()zurückgegeben wird. (I693d3, b/470282247)Die Obergrenze für
DeepLinkMatcher.MatchResult'sT wurde vonAny?zuAnygeändert. (I6bf1a)Das Konstruktorfeld
DeepLinkRequesturihat jetzt standardmäßig den Wert „null“. 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 Literal für einen leeren String behandelt. Andernfalls wird der leere Wert so behandelt, als wäre kein Wert angegeben, und es wird 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 wurde behoben, dass
UriDeepLinkMatchernicht mit einer Anfrage übereinstimmte, wenn das URI-Muster kein Schema enthielt oder nicht mit einem doppelten Schrägstrich begann. 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 mit DeepLinkUri und einer mit einem Rohstring-URI. (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 die String-Gleichheit berücksichtigt und die Groß-/Kleinschreibung nicht beachtet. (Ie7e67, b/513191950)
API-Änderungen
DeepLinkRequest
- Entfernen Sie die
fromAction-Factory-Funktion. Wenn Sie eine Anfrage erstellen möchten, die mit einer Aktion verknüpft ist, verwenden Sie das neue FeldDeepLinkRequest.extras.(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-Werksfunktion wurde entfernt. Wird durch einen neuen Konstruktor ersetzt, der ein Intent und eine Extras-Zuweisung 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, die mit Matchers verwendet werden, kein Typecasting 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, dass ein eingeblendeter Eintrag sofort verschwand, wenn er zu einem Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wurde, wurde behoben. (Idb872, b/520494430)
- Der Fehler
UriDeepLinkMatcherwurde behoben. Er gibt jetzt einen Nullwert fürUriMatchResultzurück, anstattMissingFieldExceptionauszulösen, 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) - Korrigieren Sie
UriDeepLinkMatcher, damit dashttp-Schema beim Abgleich einesDeepLinkRequestmit einemUriDeepLinkMatcherkorrekt als positive Übereinstimmung mithttpserkannt 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 ein Null-UriMatchResultzurü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:
DeepLinkRequestein angeforderter Deeplink mit einemDeepLinkUriund einem optionalen „mimeType“ oder „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 die Übereinstimmung erfolgreich ist. Es gibt zwei Standardimplementierungen vonDeepLinkMatcher:UriDeepLinkMatcherfür den Abgleich von Deeplinks basierend auf dem URI undStaticKeyDeepLinkMatcherfür den Abgleich von Deeplinks mit nurDeepLinkMatcher.Filter, die über einenBooleanabgeglichen werden. (I3798e, b/470282247)UriDeepLinkMatchereine meinungsstarke 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
IllegalArgumentExceptionderAnimatedBottomSheetSamplewurde korrigiert, wenn mehrere Overlays angezeigt werden. Die ProbeSceneStrategywird jetzt korrekt für den letzten nicht-OverlayScene-Wert berechnet und unter allen Overlay-Szenen angezeigt. (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 intelligenten „Zurück“-Gesten bei Verwendung vonSceneStatezu vereinfachen. So können Entwickler einfacher benutzerdefinierte UI-Komponenten erstellen, die die Standard-Rückwärtsnavigation und Vorhersagegesten 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
- 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 Fortschritt des Wischens 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 eine Kombination auskey.toString()undkey::class.toString(). So wird sichergestellt, dass Datenobjekte, die denselben Namen haben, 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 Wiederverwendung von Schlüsseln ausgegeben wurde, wenn aufgrund des schnellen Entfernens von Elementen aus dem Backstack mehrere Pop-Übergänge gleichzeitig ausgeführt wurden, wurde behoben. (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
- Der eingeblendete Eintrag verschwindet nicht mehr sofort, wenn ein Eintrag mit verschachtelten Metadaten mit Lambda-Werten eingeblendet wird. (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 gemeinsamem Element. So kann bei Szenenwechseln ein reibungsloser Übergang gewährleistet werden. 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 für die Metadatenzuordnung bereitgestellt werden 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. 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 akzeptieren jetzt ein List<SceneStrategy> anstelle des bisherigen einzelnen Parameters SceneStrategy, der durch das Infix then verkettet wurde.
– Sie können jetzt dynamisch Metadaten hinzufügen, wobei der Eintragsschlü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
- Mit
NavDisplaywird jetzt dafür gesorgt, dass Einträge, die unter Overlays angezeigt werden, einenLifecyclevon maximalSTARTEDhaben. So wird sichergestellt, dass APIs wiedropUnlessResumedweiterhin funktionieren, wenn Dialogfelder verwendet werden. (If209f, b/483966071) - Ein Problem in
NavDisplaywurde behoben, bei dem das Hin- und Herwechseln zwischen denselben Bildschirmen und das Unterbrechen der Animationen zwischen den beiden dazu führen konnte, dass die Z-Reihenfolge der Bildschirme falsch war. (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 vorherigen einzelnen ParametersSceneStrategy, der durch das Infixthenverkettet wurde. Das entspricht eher demList<SceneDecoratorStrategy<T>>, das für beide APIs bereits verwendet wird. Die bisherigen APIs werden nicht mehr unterstützt. (I78b2c, b/482108465)- Es wurde der Metadatenoperator #contains hinzugefügt, um zu prüfen, ob die Metadatenzuordnung die angegebene
NavMetadataKeyenthält. (Ic30db, b/485311895) NavMetadataKeyDialogKeyfürDialogSceneStrategyzur Verwendung mit der 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 für die Metadatenzuordnung bereitgestellt werden 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) - In
SceneStrategywurde 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:Navigation3ist jetzt vonNavigationEvent1.0.2 abhängig. Dadurch wird einIllegalStateExceptionbehoben, der durch die Verwendung vonNavDisplaywährend derAndroidStudio-Vorschau entstanden ist. (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 Objekt für gemeinsame Elemente. So kann bei Szenenwechseln ein reibungsloser Übergang gewährleistet werden. 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ährendAndroidStudio-Vorschauen 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 Ressourcenseite 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
- Mit
NavDisplaywird jetzt einLocalLifecycleOwnerauf der EbeneScenefestgelegt, mit dem Szenenautoren feststellen können, ob alle Übergänge abgeschlossen sind, indem sie prüfen, obLifecycle.StateRESUMEDist. Das Verhalten vonLocalLifecycleOwnerauf der EbeneNavEntryist unverändert: Es bleibt auch dann aufSTARTEDbegrenzt, wenn ein Übergang läuft, und wird zusätzlich aufCREATEDbegrenzt, 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
- Ein Problem mit einer Endlosschleife beim Verketten von
SceneStrategymitthenwurde behoben. (Iba3f0, b/450323470) - Das Flackern des Bildschirms 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 vonrememberSaveable-Werten oder wichtigenremember-Anweisungen anhand 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 bei Ihren Szenenanfragen mehrere Einträge angezeigt werden. (Idedb5, b/446989346) - Entfernen Sie die Klasse
NavEntryWrapperund ersetzen Sie ihre Funktionalität durch eine finale KlasseNavEntrymit 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, mit der einNavEntryDecoratorerstellt und zurückgegeben wird, 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 in eine 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 „equals“. (I96121)- Die Szenenoberfläche hat ein neues Metadatenfeld, um szenenspezifische Metadaten für NavDisplay anzuhängen. 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 und können daher von allen Plattformen aufgerufen werden. (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 so konfiguriert ist, dass der Status korrekt wiederhergestellt wird. Die KDoc wurden 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) - Es wurde ein neues
SceneState-Objekt 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 anhand dercurrentStateundtargetStatedesTransitionermittelt, wohinSceneund woher Sie wechseln. (I906cc, b/443872322) NavigationEventInfoist jetzt einabstract classanstelle 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 ein gehobenesNavigationEventStateakzeptiert. Die einfachen Überladungen (mitcurrentInfo) bleiben erhalten und verwenden jetzt intern dieses neue Statusmodell. (Ic3251, b/444734264) - Alle Scene APIs wurden aus navigation3-ui in 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 Platzhaltertyp „navigation3“ 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, indem die Verwendung der explizitenSavedStateConfiguration-Überladung in Multiplattformcode erzwungen wird. (I73313, b/420443609) - Erstelle
swipeEdgevonNavigationEventals@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
- Absturz bei der intelligenten „Zurück“-Geste beheben, 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 versehen sind (I0fe1c, b/441328236).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 sie für alle Plattformziele 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 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 ist 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 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 bitte für das Jetbrains-Problem ab und verfolgen Sie dort den Fortschritt. - Das
NavDisplayInfo-Objekt ist jetzt öffentlich und kann verwendet werden, um die Liste der sichtbaren Einträge ausNavDisplayabzurufen. (Ibc91f)
API-Änderungen
- Es wurde ein neues
NavBackStackSerializerhinzugefügt, das in Verbindung mitrememberNavBackStackzum Wiederherstellen des Status verwendet werden kann.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 Lifecycle-Ereignisse 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)- Der
predictivePopTransitionSpecerhält jetzt die Wischkante als Parameter. So können Sie den Übergang anpassen, je nachdem, an welcher Kante der Nutzer die Vorhersage-Geste 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-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 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. Wenn SieNavEntry-Inhalte aufrufen möchten, 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 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 ist veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.
Fehlerkorrekturen
- In
Navigation3werden keine Dekoratorstatus fürbackStacksmehr gelöscht, 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 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 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 bietet 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.