В Android SDK существует несколько основных типов анимаций:
View Animations (Tween Animations): Простые анимации, применяемые к свойствам View (позиция, размер, вращение, альфа). Работают за счет изменения параметров отрисовки View, но не меняют его реальные границы.
Примеры: RotateAnimation, AlphaAnimation, TranslateAnimation, ScaleAnimation.
Описываются в XML-файлах в директории res/anim или программно.
xml
kotlin
Property Animations: Более мощный и гибкий тип анимаций. Анимируют реальные свойства объектов (не только View), меняя их значения напрямую. Работают с любыми объектами и свойствами, имеющими сеттеры.
Примеры: ObjectAnimator, ValueAnimator, AnimatorSet.
Могут описываться в XML-файлах в директории res/animator или программно.
xml
kotlin
Drawable Animations: Анимации, представляющие собой последовательность Drawable-ресурсов. Используются для создания покадровой анимации.
Описываются в XML-файлах в директории res/drawable или res/anim.
xml
kotlin
Transition API: Анимации, применяемые к изменениям в иерархии Views, например, при появлении/исчезновении View или изменении их положения и размера. Используется для анимирования переходов между различными состояниями UI.
Работает с концепциями Scenes (состояние контейнера View) и Transitions (определение анимации между состояниями).
Примеры: Fade, Slide, ChangeBounds.
kotlin
MotionLayout: Наследник ConstraintLayout, предназначенный для создания сложных анимаций на основе констрейнтов. Позволяет определять начальное и конечное состояние UI с помощью ConstraintSet и анимировать переход между ними.
Описывается в XML-файлах лейаута, часто с отдельным XML-файлом сцены движения (MotionScene).
xml