补间动画
- 补间动画只能改变view的显示,不能改变view的响应位置
- 通过补间动画(Tween animation)为Activity自定义切换动画
Android系统为Activity设置了默认的切换动画,这个动画我们是可以进行自定义的。通过调用Activity类的overridePendingTransition(int enterAnim, int exitAnim)方法可以实现自定义Activity的切换动画,注意这个方法必须在startActivity和finish调用之后被调用,否者没有效果。
属性动画
- 属性动画只要对象有属性就行,也就是有get/set方法
- 时间插值器:根据时间流失的百分比计算动画进度百分比,定义动画的改变速率、变化规则
- 类型估值器:根据值变化的百分比计算改变后的属性值
- 属性动画框架工作原理可以总结为如下三步:
1 在创建属性动画时如果没有设置属性的初始值,此时Android系统就会通过该属性的get方法获取初始值,所以在没有设置属性的初始值时,必须提供该属性的get方法,否者程序会Crash。
2 在动画播放的过程中,属性动画框架会利用时间流逝的百分比获取属性值改变的百分比(即通过时间插值器),接着利用获取的属性值改变的百分比获取改变后的属性值(即通过类型估值器)。
3 通过该属性的set方法将改变后的属性值设置到对象中。 - ValueAnimator类是一个数值生成器,也就是没有上面关于属性动画框架工作原理的第1步和第3步,ObjectAnimator作为ValueAnimator的子类,实现了这两步。你只要给ValueAnimator提供一个初始值、结束值和周期时间,ValueAnimator就会按照属性动画框架工作原理的第2步中的步骤生成具有一定规则的数字。
- 动画过渡LayoutTransition : 参考资料