属性动画,顾名思义是关于属性值设定的动画,长度,高度的随意拉伸,屏幕的随意移
动等待。
属性动画分两种:ValueAnimator和ObjectAnimator。
ValueAnimator是关于设定一系列值的动画,给他变化的关键值(offloat.)
给他一个时间 setDuration、给他一个加速器 SetsetInterpolator
你能得到无数个变化过程中的值,该动画就是在这些值中随意变化。
1、创建ValueAnimator的对象
ValueAnimator va=ValueAnimator.ofFloat(0,50,-50,100,200,0),
这些值个数不定,动画一直沿着给定数值变化,这些是坐标。
2、设置动画持续的时间
va.setDuration(3000);
3、设置动画的插值器(加速器)
va.setInterpolator(new LinearInterpolator());
4、设置这些数值的更新监听方法
va.addUpdateListener(listener);
传入的listener通过属性可以直接new 出该对象。
private AnimatorUpdateListener listener=new AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
// TODO Auto-generated method stub
float value=(Float) animation.getAnimatedValue();
iv.setTranslationX(value);
iv.setTranslationY(value);
iv.setScaleY(value/100);
iv.setRotationY(value);
}
};
通过参数Animation获得之前设置的数值,给指定动画设置即可。
这里将可以看到,可以组合各种动画,而且都是沿着数值变化,是其他动画所做不到
的,也就是它的独特之处。
不要忘记最后va.start();启动动画。。。。