Property Animation要点总结

来源:互联网 发布:偶像梦幻祭卡牌数据 编辑:程序博客网 时间:2024/04/26 06:00

1. 你可以在任何空间上使用这个动画来改变这些控件的属性值,比如长和宽等内容,而不用管这个动画所绑定的控件是通过xml定义的还是通过自己draw的控件


2. 为了定义空间的动画,你必须知道空间的属性值,以及你需要自己设定这些动画的有效时间等内容,默认的动画间隔是300ms


3.Time interpolation这个值表示的是how the values for the property are calculated as a function of the animation's current elapsed time.


4. 你可以通过设定一些东西来实现重复次数和动画行为


5. 工作原理:

            上图是平稳动画,每个图的间隔时间都是10ms,比如我的宽度是每10ms增加10px,但是在这动画里面还可以设定不同的增加模式,比如下图的


     这个就是不规则的增加了,这个就和我们上面谈到的Time interpolation有重要的联系了,至于为什么下面我们会说到

    为了了解这个动画,我们首先要知道ValueAnimator这个的对象,这个对象的作用如下:

   (1)跟踪监测你这个动画运行了多久,以及将监听的东西提交给一个接口,就是updateListener这个接口

   (2)其中的一个属性TimeInterpolator定义了每时每刻被绑定空间的动画是怎么样的,以及控件目前动画的状态是怎么养的,比如我现在的宽度是40dp,还有就是我这个动    画的下一刻的规则是怎样的,这和它本身的一些方法是有关的,具体的东西还是需要大家仔细读文档的

     比如,我们的第二个图就是有TimeInterpolator中的AccelerateDecelerateInterpolatorTypeEvaluator控制的,流程是这样的,首先我们绑定动画(绑定这个词不知道合不合适),然后计算这个时间根据AccelerateDecelerateInterpolator计算出时间因子,然后通过调用TypeEvaluator中的IntEvaluator(This evaluator can be used to perform type interpolation between int values.)进而实现这个动画效果的。


6.流程

(1)首先实例化ValueAnimator对象,然后给出你想在某个时间间隔内某个属性值的变化范围,比如开始是多少,结束是多少,然后调用start()方法来确定动画的开始

(2)ValueAnimator这个对象同时会将百分比时间,记录多长时间和剩余多长时间





(未完待续)









0 0
原创粉丝点击