Choisir une API d'animation

Le diagramme ci-dessous vous aide à décider quelle API utiliser pour implémenter votre animation.

Organigramme décrivant l'arbre de décision pour choisir l'API d'animation appropriée
Image 1. Arbre de décision décrivant comment choisir l'API d'animation appropriée.

Organigramme décrivant l'arbre de décision pour choisir l'API d'animation appropriée

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-il des SVG simples (c'est-à-dire une icône avec des micro-animations) ?
    • Non : l'animation doit-elle se répéter à l'infini ?
      • Oui : rememberInfiniteTransition.
      • Non : animez-vous une mise en page ?
        • Oui : basculez-vous entre des composables avec des contenus différents ?
          • Oui : utilisez-vous Navigation-Compose ?
          • Non : animez-vous l'apparition ou la disparition du contenu ?
            • Oui : AnimatedVisibility ou animateFloatAsState avec Modifier.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 la marge intérieure) ?
                • Oui, consultez "Les propriétés sont-elles complètement indépendantes les unes des autres ?".
                • Non : animez-vous des éléments de liste ?
        • Non : animez-vous plusieurs propriétés ?
          • Oui : les propriétés sont-elles totalement indépendantes les unes des autres ?
            • Oui : animate*AsState. Pour le texte, utilisez TextMotion.Animated.
            • Non : doivent-ils commencer en même temps ?
              • Oui : updateTransition avec AnimatedVisibility, animateFloat, animateInt, etc.
              • Non : Animatable avec animateTo, appelé à différents moments à l'aide de fonctions de suspension.
          • Non : l'animation a-t-elle des valeurs cibles prédéfinies ?
            • Oui : animate*AsState. Pour le texte, utilisez TextMotion.Animated.
            • Non : l'animation est-elle pilotée par des gestes et la seule source fiable ?

Téléchargez la version PDF du schéma.