Как выбрать API для анимации

Следующая диаграмма поможет вам решить, какой API использовать для реализации вашей анимации.

Блок-схема, описывающая дерево решений для выбора подходящего Animation API
Рисунок 1. Дерево решений, описывающее, как выбрать подходящий Animation API.

Блок-схема, описывающая дерево решений для выбора подходящего Animation API

Чтобы выбрать наиболее подходящий Animation API для вашего случая, используйте следующее дерево решений:

  • Ваша анимация основана на графике (например, SVG или изображениях)?
    • Да: используются ли простые SVG (например, значок с микроанимацией)?
    • Нет. Нужно ли, чтобы анимация повторялась бесконечно?
      • Да: rememberInfiniteTransition.
      • Нет. Вы анимируете макет?
        • Да. Вы переключаетесь между composable-функциями с разным контентом?
          • Да: вы используете Navigation-Compose?
          • Нет. Вы анимируете появление или исчезновение контента?
            • Да. Для этого используется AnimatedVisibility или animateFloatAsState с Modifier.alpha().
            • Нет. Вы анимируете изменение размера?
              • Да: Modifier.animateContentSize.
              • Нет. Вы анимируете другое свойство макета (например, смещение или отступ)?
                • Да. См. раздел "Ресурсы полностью независимы друг от друга?".
                • Нет. Вы анимируете элементы списка?
        • Нет. Вы анимируете несколько свойств?
          • Да. Ресурсы полностью независимы друг от друга?
            • Да: animate*AsState. Для текста используйте TextMotion.Animated.
            • Нет. Должны ли они начинаться в одно и то же время?
              • Да: updateTransition с AnimatedVisibility, animateFloat, animateInt и т. д.
              • Нет. Animatable с animateTo, вызываемые в разное время с помощью функций приостановки.
          • Нет. Есть ли у анимации заданные целевые значения?
            • Да: animate*AsState. Для текстовых объявлений используйте TextMotion.Animated.
            • Нет. Анимация управляется жестами и является единственным источником достоверных данных?

Скачайте PDF-версию диаграммы.