Android开发中的动画(下)--属性动画Property Animation

来源:互联网 发布:小蚂蚁微信编辑器源码 编辑:程序博客网 时间:2024/05/01 17:24

属性动画:动画的执行类来设置动画操作的对象的属性、持续时间,开始和结束的属性值,时间差值等,然后系统会根据设置的参数动态的变化对象的属性

包含方法:ofInt、ofFloat、ofObject

setStartDelay()设置延迟时间

setRepeatCount()设置循环次数

setRepeatMode()重复模式,有RESTART(从头开始)和REVERSE(倒序开始)

 

单一动画的ofObject方法实现

ObjectAnimator.ofFloat(view,"translationX",0F,200F).setDuration(200).start();

translationX-----x轴平移

translationY-----Y轴平移

scaleY-----Y轴缩放

scaleX-----X轴缩放

rotation-----旋转

rotationX-----X轴翻转

rotationY-----Y轴翻转

alpha-----透明度

 

(2)多动画可创建AnimatorSet创建动画的set集合实现

AnimatorSet set=new AnimatorSet();
ObjectAnimator am1=ObjectAnimator.ofFloat(view,"rotation",0F,360F);
ObjectAnimator am2=ObjectAnimator.ofFloat(view,"translationX",0F,200F);
ObjectAnimator am3=ObjectAnimator.ofFloat(view,"translationY",0F,200F);
//set.playTogether(am1,am2,am3);       //----同时执行动画

//set.playSequentially(am1,am2,am3);   ------按顺序执行
set.play(am1).with(am3); //先执行an2和an3,后执行an1

set.play(am1).after(am2);
set.setDuration(1000);
set.start();

(3)属性动画的监听器anim.addListener

动画一般为手机某些功能的某些视觉效果,所以,可以创建监听事件在动画开始或者结束时进行下一步操作.

ObjectAnimator是继承自ValueAnimator的,ValueAnimator继承自Animator, ValueAnimator也是继承自Animator,所以ObjectAnimator,ValueAnimator,ValueAnimator都可以使用监听器

anim.addListener(newAnimatorListener() {

@Override

public void onAnimationStart(Animator animation) {

}

@Override

public void onAnimationRepeat(Animator animation) {

}

@Override

public void onAnimationEnd(Animator animation) {

}

@Override

public void onAnimationCancel(Animator animation) {

}

});

如果仅实现监听器中非全部方法,可使用AnimatorListenerAdapter

anim.addListener(newAnimatorListenerAdapter() {

@Override

public void onAnimationEnd(Animator animation) {

}

});

0 0