Wenn Sie Animationen für intelligente „Zurück“-Touch-Gesten aktivieren möchten, müssen Sie die Unterstützung für die intelligente „Zurück“-Touch-Geste aktivieren. Wenn Sie die Funktion aktivieren möchten, fügen Sie in Ihrer AndroidManifest.xml
-Datei dem <application>
-Tag oder einzelnen <activity>
-Tags das Attribut „android:enableOnBackInvokedCallback="true
“ hinzu.
Standardsystemanimationen aktivieren
Die Systemanimationen für den Startbildschirm, den Wechsel zwischen Aktivitäten und 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 Rückgabebehandlung migriert wurden.
- Zurück zur Startseite: Der Nutzer wird zur Startseite zurückgeleitet.
- Aktivitätsübergreifend: Übergänge zwischen Aktivitäten innerhalb der App.
- Aufgabenübergreifend: Übergänge zwischen Aufgaben.
Diese Animationen sind unter Android 15 und höher standardmäßig aktiviert. Auf Geräten mit Android 13 oder 14 können Nutzer sie über die Entwickleroptionen aktivieren.
Wenn Sie die Systemanimationen nutzen möchten, aktualisieren Sie die AndroidX-Activity
-Abhängigkeit auf 1.6.0 oder höher.
Vorherige Navigation mit Navigation Compose aktivieren
Wenn Sie die Vorhersagefunktion für „Zurück“ in Navigation Compose verwenden möchten, müssen Sie die Bibliothek navigation-compose
2.8.0 oder höher verwenden.
Bei der Navigation wird in der Funktion „Compose“ automatisch ein Cross-Fade zwischen den Bildschirmen verwendet, wenn der Nutzer zurückwischt:
Bei der Navigation können Sie mit popEnterTransition
und popExitTransition
benutzerdefinierte Übergänge erstellen. Wenn Sie diese Modifikatoren auf Ihre NavHost
anwenden, können Sie festlegen, wie die Bildschirme beim Betreten und Verlassen animiert werden. Mit ihnen lassen sich verschiedene Effekte wie Skalieren, Ausblenden oder Schwenken erstellen.
In diesem Beispiel wird scaleOut
innerhalb von popExitTransition
verwendet, um den Bildschirm zum Beenden zu verkleinern, wenn der Nutzer zurückgeht. Der Parameter transformOrigin
bestimmt außerdem den Punkt, um den herum die Skalierungsanimation erfolgt. Standardmäßig ist das der Bildschirmmittelpunkt (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 Rückstapel beispielsweise durch eine Rückwärtsgeste geöffnet wird. Mit enterTransition
und exitTransition
können Sie auch Animationseffekte für das Aufrufen und Schließen von Composeables allgemein definieren, nicht nur für die Vorhersagefunktion für den Rücksprung. Wenn Sie nur enterTransition
und exitTransition
festlegen, werden sie sowohl für die normale Navigation als auch für das Aufheben des Rückstapels verwendet. Mit popEnterTransition
und popExitTransition
können Sie jedoch unterschiedliche Animationen für die Rückwärtsnavigation erstellen.
Übergänge für gemeinsame Elemente einbinden
Übergänge mit gemeinsamen Elementen sorgen für eine nahtlose visuelle Verbindung zwischen Composables mit gemeinsamen Inhalten, die häufig für die Navigation verwendet werden.
Informationen zum Verwenden freigegebener Elemente mit Navigation Compose finden Sie unter Vorhersagende Navigation mit freigegebenen Elementen.
Unterstützung für die Vorhersagefunktion mit Material Compose-Komponenten
Viele Komponenten in der Material Compose-Bibliothek sind für die nahtlose Verwendung mit vorausschauenden Zurück-Gesten konzipiert. Wenn Sie in diesen Komponenten vorausschauende Rückwärtsanimationen aktivieren möchten, fügen Sie Ihrem Projekt die neueste Material3-Abhängigkeit (androidx.compose.material3:material3-*:1.3.0
oder höher) hinzu.
Zu den Material Design-Komponenten, die Animationen für intelligente „Zurück“-Touch-Geste unterstützen, gehören:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
und ModalBottomSheet
werden automatisch mit intelligenten „Zurück“-Touch-Gesten animiert. Bei ModalNavigationDrawer
, ModalDrawerSheet
, DismissibleDrawerSheet
und DismissibleNavigationDrawer
müssen Sie drawerState
an die entsprechenden Tabelleninhalts-Kompositionen übergeben.
Animation für intelligente „Zurück“-Touch-Geste testen
Wenn Sie noch Android 13 oder Android 14 verwenden, können Sie die Animation für die Rückkehr 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“-Touch-Geste aus.
- Starten Sie die aktualisierte App und testen Sie die Touch-Geste für „Zurück“.
Unter Android 15 und höher ist diese Funktion standardmäßig aktiviert.
Weitere Informationen
- Codelab zum Hinzufügen von Animationen für intelligente „Zurück“-Touch-Geste
- Erweiterte Layoutanimationen in der Funktion „Video erstellen“