Какие знаешь способы создания анимации у View

«Какие знаешь способы создания анимации у View» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько способов создания анимации для View:

  1. View Animation (устаревший) – простые трансформации (альфа, масштаб, поворот, перемещение).
    val anim = AnimationUtils.loadAnimation(this, R.anim.fade_in)
    view.startAnimation(anim)
  1. Property Animation (ValueAnimator/ObjectAnimator) – анимирует свойства View (включая кастомные).
    ObjectAnimator.ofFloat(view, "translationX", 0f, 100f).apply {
        duration = 500
        start()
    }
  1. MotionLayout – сложные анимации на основе ConstraintLayout (XML/код).
    <MotionScene>
        <Transition app:constraintSetStart="@id/start" app:constraintSetEnd="@id/end"/>
    </MotionScene>
  1. Lottie – рендеринг After Effects анимаций (JSON).
    <com.airbnb.lottie.LottieAnimationView
        app:lottie_rawRes="@raw/animation"/>
  1. Canvas/ValueAnimator – кастомная отрисовка (например, для сложных эффектов).

Совет: Для простоты – Property Animation, для сложных сцен – MotionLayout/Lottie.