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 = https://www.it610.com/article/(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属性动画(二):VauleAnimator和ObjectAnimator的监听】

    推荐阅读