Die intelligente „Zurück“-Geste und Systemanimationen sind standardmäßig aktiviert. Wenn Ihre App das „Zurück“-Ereignis abfängt und Sie nicht zur intelligenten „Zurück“-Geste migriert sind, aktualisieren Sie Ihre App, um unterstützte APIs für die Zurück-Navigation zu verwenden
Standardmäßige Systemanimationen aktivieren
Die Systemanimationen für die intelligente „Zurück“-Geste zum Startbildschirm, für den Wechsel zwischen Aktivitäten und für den Wechsel zwischen Aufgaben sind auf Geräten mit Android 15 und höher für Apps verfügbar, die zu den unterstützten APIs für die Zurück-Navigation migriert wurden.
- Zurück zum Startbildschirm: Der Nutzer wird zum Startbildschirm zurückgebracht.
- Wechsel zwischen Aktivitäten: Übergänge zwischen Aktivitäten in der App.
- Wechsel zwischen Aufgaben: Übergänge zwischen Aufgaben.
Diese Animationen sind auf Android 15 und höher standardmäßig aktiviert. Auf Geräten mit Android 13 oder 14 können Nutzer sie über die Entwickleroptionenaktivieren.
Aktualisieren Sie Ihre AndroidX Activity Abhängigkeit
auf 1.6.0 oder höher, um die Systemanimationen zu erhalten.
Intelligente „Zurück“-Geste mit Navigation Compose aktivieren
Wenn Sie die intelligente „Zurück“-Geste in Navigation Compose verwenden möchten, müssen Sie die
navigation-compose 2.8.0
Bibliothek oder höher verwenden.
Navigation Compose blendet automatisch zwischen Bildschirmen über, wenn der Nutzer zurückwischt:
Bei der Navigation können Sie mit
popEnterTransition und popExitTransition benutzerdefinierte Übergänge erstellen. Wenn Sie diese Modifikatoren auf Ihren NavHost anwenden, können Sie festlegen, wie die Bildschirme für den Ein- und Ausstieg animiert werden. Sie können damit verschiedene Effekte wie Skalieren, Ein- und Ausblenden oder Verschieben erstellen.
In diesem Beispiel wird scaleOut in popExitTransition verwendet, um den Bildschirm für den Ausstieg zu verkleinern, wenn der Nutzer zurücknavigiert. Außerdem bestimmt der Parameter transformOrigin den Punkt, um den herum die Skalierungsanimation stattfindet. Standardmäßig ist das die Mitte des Bildschirms (0.5f, 0.5f). Sie können diesen Wert anpassen, damit die Skalierung von einem anderen Punkt ausgeht.
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
Dieser Code führt zu folgendem Ergebnis:
popEnterTransition und popExitTransition steuern speziell Animationen, wenn der Back-Stack mit einer Zurück-Geste entfernt wird. Sie können auch enterTransition und exitTransition verwenden, um Animationen für das Ein- und Ausblenden von Composables im Allgemeinen zu definieren, nicht nur für die intelligente „Zurück“-Geste. Wenn Sie nur enterTransition und exitTransition festlegen, werden sie sowohl für die normale Navigation als auch für das Entfernen des Back-Stacks verwendet. Mit popEnterTransition und popExitTransition können Sie jedoch separate Animationen für die Rückwärtsnavigation erstellen.
Mit Übergängen für freigegebene Elemente integrieren
Übergänge für freigegebene Elemente sorgen für eine reibungslose visuelle Verbindung zwischen Composables mit freigegebenen Inhalten, die häufig für die Navigation verwendet werden.
Informationen zur Verwendung von freigegebenen Elementen mit Navigation Compose finden Sie unter Intelligente „Zurück“-Geste mit freigegebenen Elementen.
Intelligente „Zurück“-Geste mit Material Compose-Komponenten unterstützen
Viele Komponenten in der Material Compose-Bibliothek sind so konzipiert, dass sie nahtlos mit intelligenten „Zurück“-Gesten funktionieren. Wenn Sie Animationen für die intelligente „Zurück“-Geste in diesen
Komponenten aktivieren möchten, fügen Sie die neueste Material3 Abhängigkeit
(androidx.compose.material3:material3-*:1.3.0 oder höher) in Ihr Projekt ein.
Zu den Material-Komponenten, die Animationen für die intelligente „Zurück“-Geste unterstützen, gehören:
SearchBarModalBottomSheetModalDrawerSheet/DismissibleDrawerSheetModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar und ModalBottomSheet werden automatisch mit
intelligenten „Zurück“-Gesten animiert. ModalNavigationDrawer,
ModalDrawerSheet, DismissibleDrawerSheet und
DismissibleNavigationDrawer erfordern die Übergabe von drawerState an
die entsprechenden Composables für den Sheet-Inhalt.
Animation für die intelligente „Zurück“-Geste testen
Wenn Sie noch Android 13 oder Android 14 verwenden, können Sie die Animation für die intelligente „Zurück“-Geste zum Startbildschirm testen.
So testen Sie diese Animation:
- Gehen Sie auf Ihrem Gerät zu Einstellungen > System > Entwickleroptionen.
- Wählen Sie Animationen für intelligente „Zurück“-Geste aus.
- Starten Sie Ihre aktualisierte App und verwenden Sie die Zurück-Geste, um die Animation in Aktion zu sehen.
Auf Android 15 und höher ist diese Funktion standardmäßig aktiviert.
Zusätzliche Ressourcen
- Codelab: Animationen für intelligente „Zurück“-Geste hinzufügen
- Video: Erweiterte Layoutanimationen in Compose