Что такое Interpolator

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

Ответ

Interpolator определяет скорость изменения анимации во времени. Он преобразует линейный прогресс (от 0 до 1) в нелинейный, создавая разные эффекты ускорения/замедления.

Основные встроенные интерполяторы:

  • LinearInterpolator - равномерная скорость
  • AccelerateInterpolator - ускорение
  • DecelerateInterpolator - замедление
  • AccelerateDecelerateInterpolator - ускорение + замедление
  • BounceInterpolator - эффект отскока

Пример использования:

val anim = ObjectAnimator.ofFloat(view, "translationX", 0f, 500f)
anim.interpolator = AccelerateDecelerateInterpolator()
anim.duration = 1000
anim.start()

Можно создавать кастомные интерполяторы, реализуя интерфейс Interpolator и переопределяя метод getInterpolation().