Android动画的梳理

分类

  • Drawable Animation 帧动画,由一个一个的Drawable进行连续的播放。
  • View Animation 顾名思义,针对View使用。实现补间动画。仅限于简单的平移,缩放,旋转等动画。不改变View的实际属性
  • Property Animation 属性动画,可以用于所有的对象。不仅限于简单的动画,可以通过修改属性的值来实现各种动画。现在使用最多的动画。

Property Animation

主要的两个类

  • ViewPropertyAnimator 如果只是View的简单的平移,旋转等变化,可直接使用这个类。可以直接调用View.animate().xxx
  • ObjectAnimator 适用于所有需要做动画的地方,相对于ViewPropertyAnimator较复杂。定制自由度高。可以作用于任何对象。

使用ObjectAnimator值得注意的点

  • 使用TypeEvaluator可以自定义变化属性的值随动画进度的变化。这个属性不仅可以是基础数据类型,也可以是对象。
  • PropertyValuesHolder 可以帮助我们对多个属性进行管理。
  • AnimatorSet 可以帮助我们管理多个动画。
  • PropertyValuesHolders.ofKeyFrame方法可以自定义在动画播放关键帧处的值,把动画差分成多段。可以实现回弹等效果。

具体使用方法

参考HenCoder的动画讲解

参考3种动画的讲解