navigation3

  
Navigation 3 ist eine neue Navigationsbibliothek, die für die Verwendung mit Compose entwickelt wurde.
Letzte Aktualisierung Stabile Version Releasekandidat Beta-Release Alpha-Release
27. August 2025 - - 1.0.0-alpha08

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von navigation3 hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Groovy

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha08"
    implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha08")
    implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha08")
}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.

Neues Problem erstellen

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Für dieses Artefakt gibt es keine Versionshinweise.

Version 1.0

Version 1.0.0-alpha08

27. August 2025

androidx.navigation3:navigation3-*:1.0.0-alpha08 wird veröffentlicht. Version 1.0.0-alpha08 enthält diese Commits.

Neue Funktionen

  • Den Navigation3 Runtime-Artefakten wurden neue Kotlin MultiPlatform-Ziele (KMP) hinzugefügt. Navigation3 Runtime unterstützt jetzt 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 das Navigation3 UI-Artefakt. Auf anderen Plattformen müssen Sie Ihre eigene benutzerdefinierte NavDisplay implementieren. Wenn Sie möchten, dass diese Funktion unterstützt wird, stimmen Sie hier 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 aus dem NavDisplay abzurufen. (Ibc91f)

API-Änderungen

  • Es wurde ein neues NavBackStackSerializer hinzugefügt, das in Verbindung mit rememberNavBackStack verwendet werden kann, um den Status wiederherzustellen. rememberNavBackStack() akzeptiert jetzt auch ein SavedStateConfiguration, mit dem Sie Ihre eigene Konfiguration bereitstellen können. (I2f4d2, I4cd58, b/420443609)

Fehlerkorrekturen

  • Beim Navigieren wurden fälschlicherweise Lifecycle-Ereignisse ausgelöst. Dieses Problem wurde behoben. (I8bf6d, b/425901162, b/434109022)

Bekannte Probleme

  • Durch I8bf6d wurde ein Fehler eingeführt, der dazu führte, dass Lebenszyklen auf Szenen statt auf einzelnen Einträgen basierten. Dadurch wurde der Lebenszyklus für Szenen mit mehreren Bildschirmen unterbrochen. Dieser Fehler wurde für die nächste Version behoben. (b/440145700)

Version 1.0.0-alpha07

13. August 2025

androidx.navigation3:navigation3-*:1.0.0-alpha07 wird veröffentlicht. Version 1.0.0-alpha07 enthält diese Commits.

MinSdk-Update

API-Änderungen

  • SavedStateNavEntryDecorator verwendet jetzt die in SaveableStateProvider integrierte SaveableStateRegistry, um Status zu speichern und wiederherzustellen. (If8d9a)
  • predictivePopTransitionSpec erhält jetzt den Wischrand als Parameter. 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, durch das benutzerdefinierte Szenen unendlich oft neu berechnet wurden, weil die letzte Szene nicht gespeichert wurde. (I7ba84, b/418153031)

Abhängigkeitsupdate

Version 1.0.0-alpha06

30. Juli 2025

androidx.navigation3:navigation3-*:1.0.0-alpha06 wird veröffentlicht. Version 1.0.0-alpha06 enthält diese Commits.

Abhängigkeitsupdate

Version 1.0.0-alpha05

2. Juli 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 wird veröffentlicht. Version 1.0.0-alpha05 enthält diese Commits.

Geändertes Verhalten

  • Der Status von NavEntry basiert jetzt ausschließlich auf der aktuellen Liste der Dekoratoren, die an NavDisplay übergeben werden. Das bedeutet, dass Dekoratoren bei mehreren Backstacks entlang der Backstacks getauscht werden sollten, um den Status der NavEntries im Backstack beizubehalten. Andernfalls werden die Status so gelöscht, als wären die Einträge entfernt worden (anstatt eines Tauschs). (I7a759, b/428033667)

Version 1.0.0-alpha04

18. Juni 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 wird veröffentlicht. Version 1.0.0-alpha04 enthält diese Commits.

API-Änderungen

  • NavEntry.content ist jetzt privat. Um NavEntry-Inhalte aufzurufen, rufen Sie die neue NavEntry.Content()-API auf. Für den Aufruf ist kein key-Parameter mehr erforderlich. (Icd0fd, b/420991203)
  • NavEntry.key ist jetzt ein privates Feld. Die NavEntry und die zugehörigen Status sollten über das neue Feld contentKey identifiziert werden, das aus der neuen Lambda-Funktion contentKeyFactory generiert wird und standardmäßig einen speicherbaren Hash enthält, der aus NavEntry.key generiert wird (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).

Änderungen an Abhängigkeiten

  • Navigation3 hängt jetzt vom neuen androidx.navigationevent.compose-Artefakt ab.

Version 1.0.0-alpha03

4. Juni 2025

androidx.navigation3:navigation3-*:1.0.0-alpha03 wird veröffentlicht. Version 1.0.0-alpha03 enthält diese Commits.

Fehlerkorrekturen

  • Navigation3 löscht nicht mehr die Dekoratorstatus für backStacks, die ausgetauscht und durch eine andere backStack-Instanz ersetzt wurden. (I28a42, b/415076044)

Version 1.0.0-alpha02

23. Mai 2025

androidx.navigation3:navigation3-*:1.0.0-alpha02 wird veröffentlicht. Version 1.0.0-alpha02 enthält diese Commits.

Fehlerkorrekturen

  • Ein Problem mit dem SavedStateNavEntryDecorator wurde behoben, das zu Kollisionen für verschiedene Datenklassen mit denselben Attributwerten geführt hat. (b/418070648, Iff4775)
  • Ein Problem mit einer fehlenden Klasse wurde behoben, das zu Abstürzen geführt hat, wenn die App ohne explizite Abhängigkeiten ausgeführt wurde. (b/419049149, I4b4ed)

Version 1.0.0-alpha01

20. Mai 2025

androidx.navigation3:navigation3-*:1.0.0-alpha01 wird veröffentlicht. Version 1.0.0-alpha01 enthält diese Commits.

Neue Funktionen

Navigation3 ist eine neue Navigationsbibliothek, die speziell für die In-App-Navigation mit Jetpack Compose entwickelt wurde. Das androidx.navigation3.runtime-Artefakt enthält die Bausteine, während das androidx.navigation3.ui-Artefakt die UI-Ebene über die NavDisplay API bereitstellt. Entwickler können ihren eigenen Status direkt an die zusammensetzbare Funktion NavDisplay übergeben. Der Inhalt wird dann basierend auf Änderungen im Entwicklerstatus geändert.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

Weitere Informationen finden Sie im Navigation3-Leitfaden.