今天说一下新发现的一个类的使用:
——AccelerateInterpolator:动画从开始到结束,变化率是一个加速的过程。
——DecelerateInterpolator:动画从开始到结束,变化率是一个减速的过程。
——CycleInterpolator:动画从开始到结束,变化率是循环给定次数的正弦曲线。
——AccelerateDecelerateInte
rpolator:动画从开始到结束,变化率是先加速后减速的过程。
——LinearInterpolator:动画从开始到结束,变化率是线性变化。
Math.pow
的意思是
input
的
mDoubleFactor
次方,那么如果input不断变大的话,
的数目就越来越大.而且是加速的.这样就成了加速动画.其他的其次类推.
用处:比如你自己定义一个动画,用线程不断的刷新让一个东西旋转或者移动,你就可以用这个函数把输入的值变化一下再给真正处理动画刷新的函数,这样就可以看到加速和减速等效果.
网上很多都写了
Interpolator,你们先了解一下.我主要是简单说怎么用.
Android 动画之Interpolator插入器
AccelerateInterpolator有一个方法:
getInterpolation(
float
input
)
源码:
public float getInterpolation( float input) { |
61 | if (mFactor == 1 .0f) { |
62 | return input * input; |
63 | } else { |
64 | return ( float )Math.pow(input, mDoubleFactor); |
65 | } |
66 | } |
return
用处:比如你自己定义一个动画,用线程不断的刷新让一个东西旋转或者移动,你就可以用这个函数把输入的值变化一下再给真正处理动画刷新的函数,这样就可以看到加速和减速等效果.