1、透明度动画
AlphaAnimation aa = new AlphaAnimation(0, 1);//第一个参数为开始时透明度,第二个为结束时透明度
//0为全透明,1为不透明
aa.setDuration(1000); //设置动画时长
alpha.startAnimation(aa);
2、旋转动画
旋转动画的参数稍微多了一点,但总的来说不难理解
/*第一和第二个参数决定了旋转的角度
* 其他参数用于决定旋转中心
*旋转方式有 RotateAnimation.RELATIVE_TO_SELF和RotateAnimation.RELATIVE_TO_PARENT两种
* 分别表示以自身为中心或是以父布局为中心
* 两个浮点数分别表示在X和Y轴上的取点 *
* */
RotateAnimation ra = new RotateAnimation(0, 360,
RotateAnimation.RELATIVE_TO_SELF,1f,
RotateAnimation.RELATIVE_TO_SELF, 0.5f);
ra.setDuration(1000);
rotate.startAnimation(ra);
示例代码中参数的旋转中心如下图红点所示:
3、位移动画
/*4个参数依次是:开始时x轴变量,结束时x轴变量,开始时y轴变量,结束时y轴变量*/
TranslateAnimation ta = new TranslateAnimation(100, 200,
0, 300);
ta.setDuration(1000);
translate.startAnimation(ta);
4、缩放动画
/*4个参数依次是:宽度开始时倍数,宽度结束时倍数,高度开始时倍数,高度结束时倍数*/
ScaleAnimation sa = new ScaleAnimation(0, 2, 0, 2);
sa.setDuration(1000);
scale.startAnimation(sa);
5、动画集合
AnimationSet as = new AnimationSet(true);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200, 0, 300);
translateAnimation.setDuration(1000);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
alphaAnimation.setDuration(1000);
ScaleAnimation scaleAnimation = new ScaleAnimation(0, 2, 0, 2);
scaleAnimation.setDuration(1000);
as.addAnimation(alphaAnimation);
as.addAnimation(scaleAnimation);
as.addAnimation(translateAnimation);
set.startAnimation(as);