Android属性动画-ObjectAnimator
1 概览
先看一下属性动画的结构,View动画的基类是Animation,属性动画的基类是Animator
- ValueAnimator:这个动画是针对属性的值进行动画的 ,不会对UI造成改变,不能直接实现动画效果。需要通过对动画的监听去做一些操作,在监听中将这个值设置给对应的属性,对应的属性才会改变。
- ObjectAnimator:直接动画所给的对象,他会调用对象对应属性的get/set方法吧属性的值设置给对象的属性,直接实现动画效果。
- TimeAnimator:这个也不直接实现动画效果,只是提供一个监听回调,返回动画执行的总时间,距离上次动画执行的时间等。
2 使用
利用 ObjectAnimator 的 ofFloat 方法如何实现一个动画:(改变透明度)
ObjectAnimator animator = ObjectAnimator.ofFloat(tv,"alpha",1,0,1);
animator.setDuration(2000);
animator.start()
分析一下 ofFloat(Object target, String propertyName, float… values) 参数:
参数 | 解释 |
target 对象 | 指定这个动画要操作的是哪个控件 |
propertyName 属性名 | 指定这个动画要操作这个控件的哪个属性,这个属性名要求在兑现中必须有对应的public的PsetPropertyName的方法。 |
values | 可变长参数,指这个属性值是从哪变到哪。像我们上面的代码中指定的就是将 textview 的 alpha 属性从 0 变到 1 再变到 0; |
3 常见的属性动画
4 属性动画的监听
其他参考: