Le diagramme suivant vous aide à décider quelle API utiliser pour implémenter votre animation.
Utilisez l'arbre de décision suivant pour choisir l'API d'animation la plus appropriée à votre cas d'utilisation :
- Votre animation est-elle basée sur des illustrations (c'est-à-dire des SVG ou des images) ?
- Oui : utilise-t-elle 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 un contenu différent ?
- Oui : utilisez-vous Navigation-Compose ?
- Oui :
composable()avecenterTransitionetexitTransitiondéfinis. - Non :
AnimatedContent,Crossfade, ouPager.
- Oui :
- Non : animez-vous l'apparition ou la disparition de contenu ?
- Oui :
AnimatedVisibilityouanimateFloatAsStateavecModifier.alpha(). - Non : animez-vous un changement de taille ?
- Oui :
Modifier.animateContentSize. - Non : animez-vous une autre propriété de mise en page (par exemple, le décalage ou le remplissage) ?
- Oui : consultez la section "Les propriétés sont-elles complètement indépendantes les unes des autres ?".
- Non : animez-vous des éléments de liste ?
- Oui :
animateItem().
- 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 démarrer en même temps ?
- Oui :
updateTransitionavecAnimatedVisibility,animateFloat,animateInt, etc. - Non :
AnimatableavecanimateTo, appelé avec des minutages différents à l'aide de fonctions de suspension.
- Oui :
- Oui :
- Non : l'animation a-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 la seule source fiable ?
- Oui :
AnimatableavecanimateTo/snapTo. - Non : s'agit-il d'une animation ponctuelle sans gestion d'état ?
- Oui :
AnimationStateouanimate. - Non : la réponse ne figure pas ici ? Envoyez 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 un contenu différent ?
- Oui :
- Oui : utilise-t-elle des SVG simples (c'est-à-dire une icône avec des micro-animations) ?
Téléchargez la version PDF du diagramme.