Choisir une API d'animation

Le diagramme suivant vous aide à choisir l'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 expliquant 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 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) ?
    • 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 ?
          • Non : animez-vous l'apparition ou la disparition d'un 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, 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 ?
        • 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, utilisez TextMotion.Animated.
            • Non : doivent-elles commencer en même temps ?
              • Oui : updateTransition avec AnimatedVisibility, animateFloat, animateInt, etc.
              • Non : Animatable avec animateTo, appelé avec des délais différents à l'aide de fonctions de suspension.
          • Non : l'animation comporte-t-elle des valeurs cibles prédéfinies ?
            • Oui : animate*AsState. Pour le texte, utilisez TextMotion.Animated.
            • Non : l'animation est-elle basée sur des gestes et constitue-t-elle la seule source de vérité ?

Téléchargez la version PDF du diagramme.