Android动画代码如下:
mSuperMan.setVisibility(View.VISIBLE);
// TranslateAnimation ta = new TranslateAnimation(0, 200, 0, 300);//设置动画的偏移位移
// ta.setDuration(5000);//设置动画的时长
// ta.setFillAfter(true);//设置动画结束后停留在该位置
// mSuperMan.startAnimation(ta);
//属性动画调用start()方法后是一个异步操作
// ObjectAnimator.ofFloat(mSuperMan, "translationX", 0F, 200F).setDuration(3000).start();//X轴平移旋转
// ObjectAnimator.ofFloat(mSuperMan, "translationY", 0F, 300F).setDuration(3000).start();//Y轴平移旋转
// ObjectAnimator.ofFloat(mSuperMan, "rotation", 0F, 360F).setDuration(3000).start();//360度旋转
//同步动画设计
// PropertyValuesHolder p1 = PropertyValuesHolder.ofFloat("translationX", 0, 200F);
// PropertyValuesHolder p2 = PropertyValuesHolder.ofFloat("translationY", 0, 360F);
// PropertyValuesHolder p3 = PropertyValuesHolder.ofFloat("rotation", 0, 720F);
// ObjectAnimator.ofPropertyValuesHolder(mSuperMan, p1, p2 ,p3).setDuration(2000).start();
//通过AnimatiorSet来设计同步执行的多个属性动画
ObjectAnimator animator1 = ObjectAnimator.ofFloat(mSuperMan, "translationX", 0F, 200F);//X轴平移旋转
ObjectAnimator animator2 = ObjectAnimator.ofFloat(mSuperMan, "translationY", 0F, 360F);//Y轴平移旋转
ObjectAnimator animator3 = ObjectAnimator.ofFloat(mSuperMan, "rotation", 0F, 720F);//360度旋转
//set.playSequentially(animator1, animator2, animator3);//分步执行
set.playTogether(animator1, animator2, animator3);//同步执行
//属性动画的执行顺序控制
set.play(animator2).after(animator3);
set.setDuration(3000);
set.start();