navigation3

  
Navigation 3 to nowa biblioteka nawigacji zaprojektowana do współpracy z Compose.
Ostatnia aktualizacja Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
18 czerwca 2025 r. - - - 1.0.0-alpha04

Deklarowanie zależności

Aby dodać zależność od nawigacji3, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Odlotowe

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

Kotlin

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli zauważysz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Przed utworzeniem nowego problemu zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Nie ma informacji o wersji tego artefaktu.

Wersja 1.0

Wersja 1.0.0-alpha04

18 czerwca 2025 r.

Element androidx.navigation3:navigation3-*:1.0.0-alpha04 został zwolniony. Wersja 1.0.0-alpha04 zawiera te komisy.

Zmiany w interfejsie API

  • Usługa NavEntry.content jest teraz prywatna. Aby wywołać treści NavEntry, wywołaj nowy interfejs API NavEntry.Content(), który nie wymaga już parametru key. (Icd0fd, b/420991203)
  • Pole NavEntry.key jest teraz prywatne. NavEntry i odpowiednie stany powinny być identyfikowane za pomocą nowego pola contentKey, które jest generowane z nowego lambda contentKeyFactory i domyślnie jest zapisane jako hasz generowany z NavEntry.key (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

Zmiany w zależnościach

  • Navigation3 zależy teraz od nowego artefaktu androidx.navigationevent.compose.

Wersja 1.0.0-alpha03

4 czerwca 2025 r.

Element androidx.navigation3:navigation3-*:1.0.0-alpha03 został zwolniony. Wersja 1.0.0-alpha03 zawiera te komity.

Poprawki błędów

  • Navigation3 nie będzie już czyścić stanów dekoratora w przypadku backStacks, które zostały zastąpione inną instancją backStack. (I28a42, b/415076044)

Wersja 1.0.0-alpha02

23 maja 2025 r.

Element androidx.navigation3:navigation3-*:1.0.0-alpha02 został zwolniony. Wersja 1.0.0-alpha02 zawiera te komity.

Poprawki błędów

  • Naprawiliśmy błąd związany z elementem SavedStateNavEntryDecorator, który powodował kolizje w przypadku różnych klas danych z tymi samymi wartościami właściwości. (b/418070648, Iff4775)
  • Rozwiązaliśmy problem z brakiem klasy, który powodował awarie podczas uruchamiania bez deklarowania jawnych zależności. (b/419049149, I4b4ed)

Wersja 1.0.0-alpha01

20 maja 2025 r.

Element androidx.navigation3:navigation3-*:1.0.0-alpha01 został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.

Nowe funkcje

Navigation3 to nowa biblioteka nawigacji stworzona specjalnie do obsługi nawigacji w aplikacji w Jetpack Compose. Element androidx.navigation3.runtime zawiera elementy składowe, a element androidx.navigation3.ui zawiera warstwę interfejsu użytkownika za pomocą interfejsu API NavDisplay. Deweloperzy mogą przekazywać własny stan bezpośrednio do funkcji kompozytowej NavDisplay, która zmienia zawartość w zależności od zmian w stanie dewelopera.

@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 */ }
})

Więcej informacji znajdziesz w przewodniku po Nawigacji3.