Pour activer les animations de prévisualisation du Retour, vous devez activer la prévisualisation du geste Retour. Pour l'activer, ajoutez android:enableOnBackInvokedCallback="true
" à la balise <application>
ou aux balises <activity>
individuelles dans votre fichier AndroidManifest.xml
.
Activer les animations système par défaut
Les animations système de retour à l'écran d'accueil, multi-activités et multitâches sont disponibles sur les appareils Android 15 et versions ultérieures pour les applications qui ont migré vers les API de gestion du Retour compatibles.
- Retour à l'accueil: permet à l'utilisateur de revenir à l'écran d'accueil.
- Multi-activité: transitions entre les activités de l'application.
- Multitâche: transitions entre les tâches.
Ces animations sont activées par défaut sur Android 15 ou version ultérieure. Sur les appareils équipés d'Android 13 ou 14, les utilisateurs peuvent les activer via les options pour les développeurs.
Pour obtenir les animations du système, mettez à jour votre dépendance AndroidX Activity
vers la version 1.6.0 ou ultérieure.
Activer la prévisualisation du Retour avec Navigation Compose
Pour utiliser la prévisualisation du Retour dans Navigation Compose, assurez-vous d'utiliser la bibliothèque navigation-compose
2.8.0 ou une version ultérieure.
La navigation Compose effectue automatiquement un fondu entre les écrans lorsque l'utilisateur balaie l'écran vers l'arrière:
Lors de la navigation, vous pouvez créer des transitions personnalisées avec popEnterTransition
et popExitTransition
. Lorsqu'ils sont appliqués à votre NavHost
, ces modificateurs vous permettent de définir l'animation des écrans de saisie et de sortie. Vous pouvez les utiliser pour créer divers effets, tels que la mise à l'échelle, le fondu ou le glissement.
Dans cet exemple, scaleOut
est utilisé dans popExitTransition
pour réduire l'écran de sortie lorsque l'utilisateur revient en arrière. En outre, le paramètre transformOrigin
détermine le point autour duquel l'animation de mise à l'échelle se produit. Par défaut, il s'agit du centre de l'écran (0.5f, 0.5f
). Vous pouvez ajuster cette valeur pour que la mise à l'échelle commence à un autre point.
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
Ce code génère le résultat suivant:
popEnterTransition
et popExitTransition
contrôlent spécifiquement les animations lors de l'affichage de la pile "Retour", par exemple avec un geste de retour. Vous pouvez également utiliser enterTransition
et exitTransition
pour définir des animations d'entrée et de sortie des composables en général, et pas seulement pour le Retour prédictif. Si vous ne définissez que enterTransition
et exitTransition
, ils sont utilisés à la fois pour la navigation normale et pour faire apparaître la pile "Retour". Toutefois, l'utilisation de popEnterTransition
et de popExitTransition
vous permet de créer des animations distinctes pour la navigation "Retour".
Intégrer des transitions d'éléments partagés
Les transitions d'éléments partagés établissent une connexion visuelle fluide entre les composables avec du contenu partagé, souvent utilisés pour la navigation.
Pour utiliser des éléments partagés avec Navigation Compose, consultez la section Prévisualisation du Retour avec des éléments partagés.
Prendre en charge la prévisualisation du Retour avec les composants Material Compose
De nombreux composants de la bibliothèque Material Compose sont conçus pour fonctionner de manière fluide avec les gestes de prévisualisation du Retour. Pour activer les animations pour la prévisualisation du Retour dans ces composants, incluez la dernière dépendance Material3 (androidx.compose.material3:material3-*:1.3.0
ou version ultérieure) dans votre projet.
Voici les composants Material compatibles avec les animations de prévisualisation du Retour:
SearchBar
ModalBottomSheet
ModalDrawerSheet/DismissibleDrawerSheet
ModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar
et ModalBottomSheet
s'animent automatiquement avec les gestes de prévisualisation du Retour. ModalNavigationDrawer
, ModalDrawerSheet
, DismissibleDrawerSheet
et DismissibleNavigationDrawer
vous obligent à transmettre le drawerState
à leurs composables de contenu de feuille respectifs.
Tester l'animation de la prévisualisation du geste Retour
Si vous utilisez toujours Android 13 ou Android 14, vous pouvez tester l'animation de retour à l'écran d'accueil.
Pour tester cette animation, procédez comme suit:
- Sur votre appareil, accédez à Paramètres > Système > Options pour les développeurs.
- Sélectionnez Animations pour la prévisualisation du Retour.
- Lancez votre application mise à jour et utilisez le geste Retour pour le voir en action.
Sur Android 15 ou version ultérieure, cette fonctionnalité est activée par défaut.
Ressources supplémentaires
- Atelier de programmation sur l'ajout d'animations pour la prévisualisation du Retour
- Vidéo sur les animations de mise en page avancées dans Compose