Ответ
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().