View动画
作用对象为View,有平移,旋转,缩放,透明度四种效果。可以通过基础Animation自定义View动画。应用如View的出场效果
帧动画
顺序播放一系列图像产生动画效果,先通过xml定义AnimationDrawable,再将其作为View背景最后,通过drawable.start()播放动画。
切换动画
Activity可以设定切换效果(Transaction),Fragment也可以添加切换动画。
属性动画
通过改变对象(不仅仅是View)的属性实现,主要通过ValueAnimation,ObjectAnimation,AnimatorSet几个类实现。还可以设置插值器(默认为加减速)和估值器(根据百分比计算改变后的属性值),也可以设置动画监听器。注意我们对自定义View属性做动画时,需要提供set和get方法,因为其属性动画内部原理便是根据外部传递该属性的初始值和最终值,以动画的效果调用set,随着时间推移set传入的值就越接近最终值。
注意事项
- 属性动画有一类无限循环动画,需要在Activity退出时及时停止,否则发生内存泄漏
- 交互性只有属性动画才有
- 建议开启硬件加速提高动画的流畅性