1、平移
ObjectAnimator anim = (ObjectAnimator) AnimatorInflater. loadAnimator(appContext, R.anim.object_animator); anim.addUpdateListener(this); anim.setTarget(balls.get(0));
xml
<objectAnimator xmlns:android="" android:duration="1000" android:valueTo="200" android:valueType="floatType" android:propertyName="y" android:repeatCount="1" android:repeatMode="reverse"/>
2、透明度
ValueAnimator fader = (ValueAnimator) AnimatorInflater.
loadAnimator(appContext, R.anim.animator);
fader.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
balls.get(1).setAlpha((Float) animation.getAnimatedValue());
}
});
xml
<animator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:repeatCount="1" android:repeatMode="reverse"/>
3、动画集
AnimatorSet seq = (AnimatorSet) AnimatorInflater.loadAnimator(appContext, R.anim.animator_set); seq.setTarget(balls.get(2));
xml
<set> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:valueTo="200" android:valueType="floatType" android:propertyName="x" android:repeatCount="1" android:repeatMode="reverse"/> <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:valueTo="400" android:valueType="floatType" android:propertyName="y" android:repeatCount="1" android:repeatMode="reverse"/> </set>
4、颜色渐变
ObjectAnimator colorizer = (ObjectAnimator) AnimatorInflater. loadAnimator(appContext, R.anim.color_animator); colorizer.setTarget(balls.get(3));
xml
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" android:duration="1000" android:valueFrom="#0f0" android:valueTo="#00ffff" android:propertyName="color" android:repeatCount="1" android:repeatMode="reverse"/>
5、播放动画
animation = new AnimatorSet(); ((AnimatorSet) animation).playTogether(anim, fader, seq, colorizer); animation.start();