欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android之视图动画的简单使用

程序员文章站 2022-03-16 21:50:41
...

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

 

示例代码中参数的旋转中心如下图红点所示:

 

Android之视图动画的简单使用 

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);
相关标签: Android Animation