navigation3
Najnowsza aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
2 lipca 2025 r. | - | - | - | 1.0.0-alpha05 |
Deklarowanie zależności
Aby dodać zależność od navigation3, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Odlotowe
dependencies { implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha05" implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha05" }
Kotlin
dependencies { implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha05") implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha05") }
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 odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Brak informacji o wersji tego artefaktu.
Wersja 1.0
Wersja 1.0.0-alpha05
2 lipca 2025 r.
Zostanie wycofaneandroidx.navigation3:navigation3-*:1.0.0-alpha05
Wersja 1.0.0-alpha05 zawiera te commity.
Zmiany w zachowaniu
- Stan
NavEntry
zależy teraz wyłącznie od bieżącej listy dekoratorów przekazywanych doNavDisplay
. Oznacza to, że w przypadku wielu stosów wstecznych dekoratory powinny być zamieniane w stosach wstecznych, aby zachować stan obiektów NavEntry w stosie wstecznym. W przeciwnym razie stany zostaną wyczyszczone tak, jakby wpisy zostały usunięte (zamiast zamienione). (I7a759, b/428033667)
Wersja 1.0.0-alpha04
18 czerwca 2025 r.
Zostanie wycofaneandroidx.navigation3:navigation3-*:1.0.0-alpha04
Wersja 1.0.0-alpha04 zawiera te zmiany.
Zmiany w interfejsie API
NavEntry.content
jest teraz prywatny. Aby wywołać treściNavEntry
, wywołaj nowy interfejs APINavEntry.Content()
, który nie wymaga już parametrukey
. (Icd0fd, b/420991203)- Pole
NavEntry.key
jest teraz prywatne.NavEntry
i jego odpowiednie stany powinny być identyfikowane przez nowe polecontentKey
, które jest generowane przez nową lambdęcontentKeyFactory
i domyślnie przyjmuje wartość skrótu, który można zapisać i który jest generowany na podstawieNavEntry.key
(I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812).
Zmiany zależności
- Biblioteka Navigation3 zależy teraz od nowego artefaktu
androidx.navigationevent.compose
.
Wersja 1.0.0-alpha03
4 czerwca 2025 r.
Zostanie wycofaneandroidx.navigation3:navigation3-*:1.0.0-alpha03
Wersja 1.0.0-alpha03 zawiera te commity.
Poprawki błędów
Navigation3
nie będzie już czyścić stanów dekoratora dlabackStacks
, które zostały zamienione i zastąpione inną instancjąbackStack
. (I28a42, b/415076044)
Wersja 1.0.0-alpha02
23 maja 2025 r.
Zostanie wycofaneandroidx.navigation3:navigation3-*:1.0.0-alpha02
Wersja 1.0.0-alpha02 zawiera te zmiany.
Poprawki błędów
- Naprawiliśmy problem z funkcją
SavedStateNavEntryDecorator
, który powodował kolizje różnych klas danych o tych samych wartościach właściwości. (b/418070648, Iff4775) - Rozwiązaliśmy problem z brakującą klasą, który powodował awarie podczas uruchamiania bez deklarowania jawnych zależności. (b/419049149, I4b4ed)
Wersja 1.0.0-alpha01
20 maja 2025 r.
Zostanie wycofaneandroidx.navigation3:navigation3-*:1.0.0-alpha01
Wersja 1.0.0-alpha01 zawiera te zmiany.
Nowe funkcje
Navigation3 to nowa biblioteka nawigacji stworzona specjalnie do obsługi nawigacji w aplikacji Jetpack Compose. Artefakt androidx.navigation3.runtime
zapewnia elementy składowe, a artefakt androidx.navigation3.ui
– warstwę interfejsu użytkownika za pomocą interfejsu NavDisplay
API. Deweloperzy mogą przekazywać własny stan bezpośrednio do funkcji kompozycyjnej NavDisplay
, która zmienia treść na podstawie zmian stanu 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 Navigation3.