navigationevent
Ostatnia aktualizacja | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
18 czerwca 2025 r. | - | - | - | 1.0.0-alpha03 |
Deklarowanie zależności
Aby dodać zależność od pakietu navigationevent, 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:
Groovy
dependencies { implementation "androidx.navigationevent:navigationevent:1.0.0-alpha03" }
Kotlin
dependencies { implementation("androidx.navigationevent:navigationevent:1.0.0-alpha03") }
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ą.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Nie ma informacji o wersji tego artefaktu.
Wersja 1.0
Wersja 1.0.0-alpha03
18 czerwca 2025 r.
Element androidx.navigationevent:navigationevent-*:1.0.0-alpha03
został zwolniony. Wersja 1.0.0-alpha03 zawiera te komity.
Nowe funkcje
- Wprowadziliśmy nowy moduł
navigationevent-compose
, aby obsługiwać funkcje Jetpack Compose w bibliotecenavigationevent
. (980d78) NavigationEvent
Dodaliśmy do Compose nową kompozycję lokalnąLocalNavigationEventDispatcherOwner
. Zwraca wartość, która może być pusta, aby lepiej określić, czy jest ona dostępna w bieżącej kompozycji. Jeśli nie uda się znaleźć właściciela, metodaNavigationEventHandler
zwróci błąd. (62ffda)NavigationEvent
Do Compose dodano nową kompozycjęNavigationEventHandler
, która obsługuje zdarzenia (gesty przewidywania wstecz). ZawieraFlow
obiektówNavigationEvent
, które muszą zostać zebrane w podwieszonej funkcji lambda, którą udostępniasz (c42ba6):
NavigationEventHandler { progress: Flow<NavigationEvent> ->
// This block is executed when the back gesture begins.
try {
progress.collect { backEvent ->
// Handle gesture progress updates here.
}
// This block is executed if the gesture completes successfully.
} catch (e: CancellationException) {
// This block is executed if the gesture is cancelled
throw e
} finally {
// This block is executed either the gesture is completed or cancelled
}
}
Zmiany w interfejsie API
- Każdy element
NavigationEventCallback
może być teraz zarejestrowany tylko w jednymNavigationEventDispatcher
naraz. Dodanie go do wielu rozsyłaczy spowoduje błądIllegalStateException
. Pamiętaj, że to zachowanie różni się odOnBackPressedDispatcher
, które pozwala na stosowanie wielu rozsyłaczy. (e82c19) - Ustawiliśmy
isPassThrough
jakoval
, aby zapobiec mutacji podczas nawigacji, która mogłaby zakłócić wysyłanieNavigationEvent
. (I0b287)
Wersja 1.0.0-alpha02
4 czerwca 2025 r.
Element androidx.navigationevent:navigationevent-*:1.0.0-alpha02
został zwolniony. Wersja 1.0.0-alpha02 zawiera te komity.
Zmiany w interfejsie API
- Zastąp drugi konstruktor klasy
NavigationEventDispatcher
argumentami domyślnymi. (I716a0) - Usuń właściwość priorytetu z poziomu
NavigationEventCallback
. Zamiast tego przypisz priorytetNavigationEventDispatcher.addCallback()
. (I13cae)
Poprawki błędów
- Naprawiono błąd
ConcurrentModificationException
, który mógł wystąpić podczas wywołania funkcjiNavigationEventCallback.remove()
z powodu jednoczesnej modyfikacji wewnętrznej listy obiektów do zamknięcia. (b/420919815)
Wersja 1.0.0-alpha01
20 maja 2025 r.
Element androidx.navigationevent:navigationevent-*:1.0.0-alpha01
został zwolniony. Wersja 1.0.0-alpha01 zawiera te komity.
Nowe funkcje
- Biblioteka
androidx.navigationevent
udostępnia interfejs KMP-first do obsługi systemu wstecz oraz przewidywanego wstecz. InterfejsNavigationEventDispatcher
służy jako wspólny interfejs API do rejestrowania co najmniej 1 instancjiNavigationEventCallback
w celu odbierania zdarzeń z systemu. - Ta warstwa znajduje się poniżej wcześniej opublikowanych interfejsów API w
androidx.activity
i ma zastąpić interfejsy Activity API w komponentach wyższego poziomu lub bezpośrednio interfejsy API frameworka AndroidaOnBackInvokedDispatcher
. W ramach wersji 1.12.0-alpha01 interfejsy APIandroidx.activity
zostały przepisane na podstawie interfejsów API zdarzeń nawigacji.