Le diagramme ci-dessous vous aide à décider quelle API utiliser pour implémenter votre animation.
<ph type="x-smartling-placeholder">
Suivez les questions de l'arbre de décision ci-dessous pour choisir l'API d'animation la plus adaptée à votre cas d'utilisation:
- Mon animation ressemble-t-elle davantage à de l'art, composée de nombreux éléments visuels ? SVG ou images, par exemple
<ph type="x-smartling-placeholder">
- </ph>
- Oui : l'application contient-elle des SVG simples, c'est-à-dire une icône avec des micro-animations ?
- Oui:
AnimatedVectorDrawable
- Non: framework d'animation tiers (
Lottie
, par exemple)
- Oui:
- Non: l'alarme doit-elle se répéter indéfiniment ?
- Oui:
rememberInfiniteTransition
- Non: S'agit-il d'une animation de mise en page ?
- Oui: vous passez d'un composable à un autre dont le contenu est différent ?
- Oui : avec navigation-compose ?
- Oui :
composable()
avecenterTransition
etexitTransition
définis - Non:
AnimatedContent
,Crossfade
ouPager
- Oui :
- Non: Animer l'apparition / disparition ?
- Oui:
AnimatedVisibility
ouanimateFloatAsState
avecModifier.alpha()
- Non: la taille de l'animation ?
- Oui:
Modifier.animateContentSize
- Non : autre propriété de mise en page (par exemple, décalage, marge intérieure, etc.)
- Oui : consultez la question "Les propriétés sont-elles complètement indépendantes les unes des autres ?"
- Non : Animer des éléments de liste ?
- Oui :
animateItemPlacement()
(réorganiser et supprimer bientôt disponibles)
- Oui :
- Oui:
- Oui:
- Oui : avec navigation-compose ?
- Non : avez-vous besoin d'animer 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 : 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 un ensemble de valeurs cibles prédéfinies ?
- Oui :
animate*AsState
. Pour le texte, utilisezTextMotion.Animated
. - Non: Animation par gestes ? Votre animation est-elle la seule source fiable ?
- Oui :
Animatable
avecanimateTo
/snapTo
- Non : animation ponctuelle sans gestion de l'état ?
- Oui :
AnimationState
ouanimate
- Non: vous n'avez pas trouvé la réponse 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: vous passez d'un composable à un autre dont le contenu est différent ?
- Oui:
- Oui : l'application contient-elle des SVG simples, c'est-à-dire une icône avec des micro-animations ?
Téléchargez la version PDF du diagramme.