Przewidywane przejście wstecz i animacje systemowe są domyślnie włączone. Jeśli Twoja aplikacja przechwytuje zdarzenie powrotu i nie została jeszcze zmigrowana do przewidywanego powrotu, zaktualizuj ją, aby korzystała z obsługiwanych interfejsów API nawigacji wstecz.
Włączanie domyślnych animacji systemowych
Animacje systemowe powrotu do ekranu głównego, przechodzenia między aktywnościami i przechodzenia między zadaniami są dostępne na urządzeniach z Androidem 15 i nowszym w przypadku aplikacji, które zostały przeniesione do obsługiwanych interfejsów API obsługi przejścia wstecz.
- Powrót do ekranu głównego: przenosi użytkownika z powrotem do ekranu głównego.
- Między aktywnościami: przejścia między aktywnościami w aplikacji.
- Między zadaniami: przejścia między zadaniami.
Te animacje są domyślnie włączone na Androidzie 15 i nowszych. Na urządzeniach z Androidem 13 lub 14 użytkownicy mogą włączyć je w opcjach programisty.
Aby uzyskać animacje systemowe, zaktualizuj zależność AndroidX Activity
do wersji 1.6.0 lub nowszej.
Włączanie przewidywanego przejścia wstecz za pomocą Navigation Compose
Aby używać predykcyjnego powrotu w Navigation Compose, musisz mieć bibliotekę w wersji navigation-compose
2.8.0 lub nowszej.
Biblioteka Navigation Compose automatycznie przechodzi między ekranami, gdy użytkownik przesuwa palcem w tył:
Podczas nawigacji możesz tworzyć niestandardowe przejścia za pomocą popEnterTransition
i popExitTransition
. Gdy zastosujesz te modyfikatory do
NavHost
, możesz określić sposób animowania ekranów wejścia i wyjścia. Możesz ich używać do tworzenia różnych efektów, takich jak skalowanie, zanikanie czy przesuwanie.
W tym przykładzie element scaleOut
jest używany w elemencie popExitTransition
, aby zmniejszyć rozmiar ekranu wyjściowego, gdy użytkownik wraca do poprzedniego ekranu. Dodatkowo parametr
transformOrigin
określa punkt, wokół którego następuje animacja skalowania. Domyślnie jest to środek ekranu (0.5f, 0.5f
). Możesz dostosować tę wartość, aby skalowanie rozpoczynało się w innym punkcie.
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
Ten kod daje następujący wynik:
popEnterTransition
i popExitTransition
sterują animacjami podczas wycofywania z listy wstecznej, np. za pomocą gestu cofania. Możesz też użyć enterTransition
i exitTransition
, aby zdefiniować animacje wchodzenia i wychodzenia z kompozycji w ogóle, a nie tylko w przypadku przewidywanego powrotu. Jeśli ustawisz tylko enterTransition
i exitTransition
, będą one używane zarówno do zwykłej nawigacji, jak i do cofania się w stosie wstecznym. Użycie symboli popEnterTransition
i popExitTransition
pozwala jednak tworzyć odrębne animacje na potrzeby nawigacji wstecz.
Integracja z przejściami między udostępnionymi elementami
Przejścia między elementami współdzielonymi zapewniają płynne połączenie wizualne między komponentami z treściami współdzielonymi, które są często używane do nawigacji.
Aby używać udostępnionych elementów w Navigation Compose, przeczytaj artykuł Przewidywanie powrotu z użyciem udostępnionych elementów.
Obsługa przewidywanego powrotu za pomocą komponentów Material Compose
Wiele komponentów w bibliotece Material Compose zostało zaprojektowanych tak, aby sprawnie współpracowały z gestami przewidywania powrotu. Aby włączyć animacje przewidywania powrotu w tych komponentach, dodaj do projektu najnowszą zależność Material3 (androidx.compose.material3:material3-*:1.3.0
lub nowszą).
Komponenty Material, które obsługują animacje przewidywanego przejścia wstecz, to:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
i ModalBottomSheet
są automatycznie animowane za pomocą gestów przewidywanego przejścia wstecz. ModalNavigationDrawer
, ModalDrawerSheet
, DismissibleDrawerSheet
i DismissibleNavigationDrawer
wymagają przekazania drawerState
do odpowiednich komponentów kompozycyjnych treści arkusza.
Sprawdź animację gestu przewidywanego przejścia wstecz
Jeśli nadal używasz Androida 13 lub 14, możesz przetestować animację powrotu do ekranu głównego.
Aby przetestować tę animację, wykonaj te czynności:
- Na urządzeniu otwórz Ustawienia > System > Opcje programisty.
- Wybierz Animacje przewidywanego przejścia wstecz.
- Uruchom zaktualizowaną aplikację i użyj gestu cofania, aby zobaczyć, jak działa.
Na Androidzie 15 i nowszym ta funkcja jest domyślnie włączona.
Dodatkowe materiały
- Ćwiczenia z programowania dotyczące dodawania animacji przewidywanego przejścia wstecz
- Zaawansowane animacje układu w Compose Video