Android属性动画(二):VauleAnimator和ObjectAnimator的监听

1、ValueAnimator可以用来对动画发生过程中的数值进行监听,从而方便实时处理:

ValueAnimator animator = ValueAnimator.ofFloat(0,100);

animator.setTarget(view); 

animator.setDuration(1000).start();

animator.addUpdateListener(new AnimatiorUpdateListener(){  

@Override

public void onAnimationUpdate(ValueAnimator animation) {

Float value = (Float) animation.getAnimatedValue();  //获得当前动画数据

// TODO use the value

}

});

2、ObjectAnimator也有监听的adapter:

ObjectAnimator animator = ObjectAnimator.ofFloat(view, "translateX", 0, 2);

animator.addListener(new Animator.AnimatorListener(){

@Override

public void onAnimationStart(Animator animation) {

}

@Override

public void onAnimationEnd(Animator animation) {

}

@Override

public void onAnimationCancel(Animator animation) {

}

@Override

public void onAnimationRepeat(Animator animation) {

}

});

大多数情况我们只想对onAnimationEnd进行操作,这样的话可以选择new一个Adapter:

animator.addListener(new AnimatorListenerAdapter() {

        @Override

        public void onAnimationEnd(Animator animaton){

                  super.onAnimationEnd(animation);

         }

});

也可以选择其他重写的方法,很灵活。

 

你可能感兴趣的:(Android群英传学习笔记)