属性动画(Property Animation)从android 3.0(Level 11)引入以来,备受开发者的青睐。相对于视图动画(View Animation),属性动画框架更加健壮,属性动画不仅可以操作视图对象(View Object)而且可以操作非视图对象(non-View Object),并且视图动画也不存在视图对象的种种限制(只针对视图对象特定属性Translation、Scale、Rotate、Alpha可操作,而且改变的只是视图的绘制位置,无法改变事件的响应位置等)。本文主要对属性动画在执行时的对象方法调用过程进行记录,帮助理解属性动画执行的原理。
一、属性动画属性默认值说明:
1、 Duration:动画执行总时间,默认值为300ms;
2、 动画刷新时间间隔(刷新帧率):默认值为10ms,默认情况下动画执行过程中视图刷新间隔为10ms,此参数虽然可设,但是依赖于设备性能;
3、TypeEvaluator:默认情况下属性动画提供了两种求值类型:IntEvaluator和FloatEvaluator,动画执行过程中会根据给定的属性初始和结束值的类型确定调用哪种求值类 型,如果属性值类型不是Int和Float类型的话,要显示设置求值类型。
二、执行过程解说:
Animator类是属性动画的抽象基类,定义了创建属性动画的基础结构,在实现属性动画时一般不会直接拿此类来扩展。ValueAnimator类直接继承于Animator类,实现了动画执行的核心功能。下面就拿该类解说属性动画的执行过程,假设duration=