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