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();