Следующая диаграмма поможет вам выбрать API для реализации анимации.


Используйте следующее дерево решений, чтобы выбрать наиболее подходящий API анимации для вашего случая:
- Ваша анимация основана на графическом оформлении (то есть, на SVG-файлах или изображениях)?
- Да: Использует ли он простые SVG-изображения (то есть иконку с микроанимацией)?
- Да:
AnimatedVectorDrawable. - Нет: Сторонние платформы для анимации, например,
Lottie.
- Да:
- Нет: Нужно ли, чтобы анимация повторялась бесконечно?
- Да:
rememberInfiniteTransition. - Нет: Вы анимируете макет?
- Да: Вы переключаетесь между составными элементами с различным содержимым?
- Да: Вы используете Navigation-Compose?
- Да:
composable()с установленнымиenterTransitionиexitTransition. - Нет:
AnimatedContent,CrossfadeилиPager.
- Да:
- Нет: Вы анимируете появление или исчезновение контента?
- Да:
AnimatedVisibilityилиanimateFloatAsStateсModifier.alpha(). - Нет: Вы анимируете изменение размера?
- Да:
Modifier.animateContentSize. - Нет: Вы анимируете другое свойство макета (например, смещение или отступ)?
- Да: см. «Являются ли свойства полностью независимыми друг от друга?».
- Нет: Вы анимируете элементы списка?
- Да:
animateItem().
- Да:
- Да:
- Да:
- Да: Вы используете Navigation-Compose?
- Нет: Вы анимируете несколько объектов?
- Да: Являются ли эти свойства полностью независимыми друг от друга?
- Да:
animate*AsState. Для текста используйтеTextMotion.Animated. - Нет: Они должны начинать одновременно?
- Да:
updateTransitionсAnimatedVisibility,animateFloat,animateIntи т. д. - Нет:
Animatableс помощьюanimateTo, вызывается с разным временем выполнения с использованием функций приостановки.
- Да:
- Да:
- Нет: Есть ли у анимации предопределенные целевые значения?
- Да:
animate*AsState. Для текста используйтеTextMotion.Animated. - Нет: Является ли анимация управляемой жестами и единственным источником достоверной информации?
- Да:
Animatableс помощьюanimateTo/snapTo. - Нет: Это одноразовая анимация без управления состоянием?
- Да:
AnimationStateилиanimate. - Нет: Ответа здесь нет? Отправьте запрос на добавление функции .
- Да:
- Да:
- Да:
- Да: Являются ли эти свойства полностью независимыми друг от друга?
- Да: Вы переключаетесь между составными элементами с различным содержимым?
- Да:
- Да: Использует ли он простые SVG-изображения (то есть иконку с микроанимацией)?
Скачайте PDF-версию диаграммы .