这里主要是记录下Android valueAnimator 及其相关子类的使用,很少使用xml来,这里是从官网上摘过来的相关写法。
android的动画系统提供了丰富的动画功能,使我们可以操作目标对象的任何类型的属性,默认支持int,float,和十六进制的颜色。你也可以通过自定义TypeEvaluator来告诉系统如何计算目标类型,进而操作任何其他类型。
你可以给动画设置不同类型的插值器(包含在Android.view.animation中),关键帧或者一组动画顺讯执行,或同时执行(在AnimatorSet的帮助下),进一步控制你的动画行为。
Animator 提供Builder模式,可以方便的实现多个动效一起执行,或顺讯执行
Animator:关系图
- AnimatorSet
- ObjectAnimator
- TimeAnimator
- ValueAnimator
ValueAnimator
该类提供了一个简单的时间引擎来运行动画,该引擎帮我们计算出已经执行的动画的值,并且将这些值应用到目标对象上。
所有的动画都使用一个简单的时间脉动,它靠一个自定义的handler来保证所有属性的改变都发生在主线程。
默认情况下,ValueAnimator使用非线性的时间差值器(AccelerateDecelerateInterpator),通过setInterpolator()方法来设置。
Animators 可以通过代码创建也可以通过resource文件中创建
<animator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:valueFrom="1"
android:valueTo="0"
android:valueType="floatType"
android:repeatCount="1"
android:repeatMode="reverse"/>
从API23开始,可以将PropertyValuesHolder 和 Keyfram 一起混合使用,创建一个多步动画。你可