Android动画

来源:互联网 发布:seo整站优化方案 编辑:程序博客网 时间:2024/06/06 19:05

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

0 0