Le diagramme suivant vous aide à choisir l'API à utiliser pour implémenter votre animation.

Utilisez l'arbre de décision suivant pour choisir l'API d'animation la plus adaptée à votre cas d'utilisation :
- Votre animation est-elle basée sur des éléments graphiques (SVG ou images) ?
- Oui : utilise-t-il des SVG simples (c'est-à-dire une icône avec des micro-animations) ?
- Oui :
AnimatedVectorDrawable
. - Non : framework d'animation tiers, par exemple
Lottie
.
- Oui :
- Non : l'animation doit-elle se répéter indéfiniment ?
- Oui :
rememberInfiniteTransition
. - Non : animez-vous une mise en page ?
- Oui : passez-vous d'un composable à un autre avec du contenu différent ?
- Oui : utilisez-vous Navigation-Compose ?
- Oui :
composable()
avecenterTransition
etexitTransition
définis. - Non :
AnimatedContent
,Crossfade
ouPager
.
- Oui :
- Non : animez-vous l'apparition ou la disparition d'un contenu ?
- Oui :
AnimatedVisibility
ouanimateFloatAsState
avecModifier.alpha()
. - Non : animez-vous un changement de taille ?
- Oui :
Modifier.animateContentSize
. - Non : animez-vous une autre propriété de mise en page (par exemple, un décalage ou une marge intérieure) ?
- Oui : consultez la question "Les propriétés sont-elles complètement indépendantes les unes des autres ?".
- Non : animez-vous des éléments de liste ?
- Oui :
animateItemPlacement()
.
- Oui :
- Oui :
- Oui :
- Oui : utilisez-vous Navigation-Compose ?
- Non : animez-vous plusieurs propriétés ?
- Oui : les propriétés sont-elles complètement indépendantes les unes des autres ?
- Oui :
animate*AsState
. Pour le texte, utilisezTextMotion.Animated
. - Non : doivent-elles commencer en même temps ?
- Oui :
updateTransition
avecAnimatedVisibility
,animateFloat
,animateInt
, etc. - Non :
Animatable
avecanimateTo
, appelé avec des délais différents à l'aide de fonctions de suspension.
- Oui :
- Oui :
- Non : l'animation comporte-t-elle des valeurs cibles prédéfinies ?
- Oui :
animate*AsState
. Pour le texte, utilisezTextMotion.Animated
. - Non : l'animation est-elle basée sur des gestes et constitue-t-elle la seule source de vérité ?
- Oui :
Animatable
avecanimateTo
/snapTo
. - Non : s'agit-il d'une animation ponctuelle sans gestion d'état ?
- Oui :
AnimationState
ouanimate
. - Non : la réponse n'est pas ici ? Envoyer une demande de fonctionnalité
- Oui :
- Oui :
- Oui :
- Oui : les propriétés sont-elles complètement indépendantes les unes des autres ?
- Oui : passez-vous d'un composable à un autre avec du contenu différent ?
- Oui :
- Oui : utilise-t-il des SVG simples (c'est-à-dire une icône avec des micro-animations) ?
Téléchargez la version PDF du diagramme.