emmmm....不知道该说啥,直接开始吧.
ObjectAnimator常用的方法,也是基础的方法
//旋转动画 rotationX,Y分别代表绕着X,Y轴旋转,rotation表示围绕Z轴旋转
ObjectAnimator rotationX = ObjectAnimator.ofFloat(mImage, "rotation", 0.5f, 360f);
//缩放动画 scaleX,Y分别代表沿着X,Y轴旋转
ObjectAnimator scaleX = ObjectAnimator.ofFloat(mImage, "scaleX", 0, 1);
//透明度动画 0 -> 1从完全透明到完全不透明
ObjectAnimator alpha = ObjectAnimator.ofFloat(mImage, "alpha", 0, 1);
//平移动画 translationX,Y沿着X,Y轴平移
ObjectAnimator translationX = ObjectAnimator.ofFloat(mImage, "translationX", 500);
以平移动画为例,说一下参数的含义:
①.mImage:需求动画的那个控件
②.translationX:改变的属性的名称,也就是要执行什么样的动画
③.500:动画的value值
多个动画同时执行,先看效果图:
动画1.gif
动画是不复杂的,缩放和透明度动画一起执行,这里要说的是如何吧多个要同时执行的动画放到一起执行,共享动画执行的时间,用到的就是PropertyValuesHolder,直接上代码:
PropertyValuesHolder ValuesHolder1 = PropertyValuesHolder.ofFloat("scaleX",0,1);
PropertyValuesHolder ValuesHolder2 = PropertyValuesHolder.ofFloat("scaleY",0,1);
PropertyValuesHolder ValuesHolder3 = PropertyValuesHolder.ofFloat("alpha",0,1);
ObjectAnimator objectAnimator = O