Чем Animation отличается от Animator-а?

Ответ: Animation старее и проще работает чем Animator. Вот главные отличия.

Animation (View Animation)

Классическая система анимаций до Android 3.0

  • Работает с Viewменяет только то, как View выглядит
  • View не меняет своё реальное положение в layout-е
  • Система «просто рисует View по-другому», но координаты остаются прежними

Animator (Property Animation)

Появился с Android 3.0 (API 11). Более мощная система:

  • Анимирует настоящие свойства объекта: x, alpha, scaleX, rotation, и даже любые кастомные свойства
  • Работает не только с View, но и с любыми объектами
  • Поддерживает композицию, кривые, listener’ы, keyframes

Вот таблица различий

Animation (до API 11)Animator (c API 11+, Property Animation)
Что анимируетТолько визуальное представление (View)Свойства объектов, не только View
ВоздействиеВидишь движение, но позиция не меняетсяМеняет реальные значения свойств
ТипыAlphaAnimation, TranslateAnimationValueAnimator, ObjectAnimator
ИспользуетсяВ res/anim (XML)В res/animator или в коде
Примерview.startAnimation(Animation)view.animate().alpha(0f) или ObjectAnimator.ofFloat(...)
СовместимостьДо API 11API 11+ (Honeycomb)

Опубликовано

в

от

Метки: