求值器和插补器
求值器告诉属性动画系统如何计算给定属性的值。他依据动画类提供的当前值,已经动画的起止时间计算该值。属性动画提供了如下求
值器:
IntEvaluator:整型值的默认求值器
FloatEvaluator:浮点型的默认求值器
ArgbEvaluator:以十六进制表示的默认颜色求值器
TypeEvaluator:一个接口,用来给你创建自定义的求值器。如果你要设置的动画的属性值不是整型,浮点型或颜色值,你必须实现
TypeEvaluator接口来描述如何计算你的动画的属性值。你也可以为整型,浮点型或颜色值类型自定义一个求值器,如果你不想使用他
们的默认行为。查找Using a TypeEvaluator这一节来获取更多的信息关于如何写一个自定义的求值器。
一个时间插补器定义了动画中的给定值是如何根据时间计算的。例如,你可以描叙一个线性的动画,代表这个动画在整个期间都是均匀
的进行移动。或者你也可以定义一个非此线性的动画,例如,在开始的时候定义一个加速的动画并且在结束的时候定义一个减速的动画
。表3定义的插补器包含在包android.view.animation. 如果这里提供的所有插补器都不是你需要的,实现TimeInterporpolators插补
器。
AccelerateDecelerateInterpolator:一个插补器,它的值开始和结束变化的慢但是在中间加速。
AccelerateInterpolator:加速
AnticipateInterpolator:先减(减到比开始值还小一点),后加(加到结束值)
AnticipateOvershootInterpolator:先减(减到比开始值还小一点),后加(加到比结束值还大一点,再回退到结束值)
BounceInterpolator:反弹结束时的变化 到达结束值时一会小一会大 来回两次
CycleInterpolator:先快速从开始到结束值,再遵循正弦模式继续运动 (左右对切,上下对切)
DecelerateInterpolator:减速
LinearInterpolator:常速
OvershootInterpolator:接加速到结束值,并比结束值还大一点,再回退到结束值
TimeInterpolator:一个接口,可以用来实现自定义的插补器