属性动画的运行机制是通过不断地对值进行操作来实现的。
ValueAnimator:
动画机制中的核心类,初始值和结束值之间的动画过渡是由这个类负责的。
使用:
ObjectAnimator:
可以对任意对象的任意属性进行动画操作。
使用:
只要对象中有setXXX() 和 getXXX(), 就可以对该对象的XXX属性进行操作。
AnimatorSet:
组合动画
方法:
- after(Animator anim) 将现有动画插入到传入的动画之后执行
- after(long delay) 将现有动画延迟指定毫秒后执行
- before(Animator anim) 将现有动画插入到传入的动画之前执行
- with(Animator anim) 将现有动画和传入的动画同时执行
使用:
Animator监听器:
对动画的各种事件进行监听。
使用:
或者使用AnimatorListenerAdapter
可以选择自己需要的方法进行重写
Interpolator:
实现非线性运动的动画效果,如加速,减速运动。
只有一个 getInterpolation()方法 :
getInterpolation()方法中接收一个input参数,这个参数的值会随着动画的运行而不断变化,不过它的变化是非常有规律的,就是根据设定的动 画时长匀速增加,变化范围是0到1。也就是说当动画一开始的时候input的值是0,到动画结束的时候input的值是1,而中间的值则是随着动画运行的时长在 0到1之间变化的。
使用:
ViewPropertyAnimator:
对view的动画操作
使用:
可以将上面进行简化: