Android之视图动画的简单使用

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

猜你喜欢

转载自blog.csdn.net/yforyoung/article/details/80085196