Android 动画简述

来源:互联网 发布:剪切视频在线软件 编辑:程序博客网 时间:2024/06/07 02:27

同一个图形通过视图在界面上进行透明度,缩放,旋转,平移的变化(View动画)

在界面的同一个位置上不断切换显示不同的图片(Drawable动画)

 

View Animation

Drawable Animation

 

 

 

1.scale标签是缩放动画,可以实现动态调控件尺寸的效果,有下面几个属性: 

android:fromXScale    起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.5代表起始时缩小一倍,2.0代表放大一倍; 

android:toXScale        结尾的X方向上相对自身的缩放比例,浮点值; 

android:fromYScale    起始的Y方向上相对自身的缩放比例,浮点值, 

android:toYScale        结尾的Y方向上相对自身的缩放比例,浮点值; 

android:pivotX            缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,当为数值时,表示在当前View的左上角,即原点处加上50px,做为起始缩放点;如果是50%,表示在当前控件的左上角加上自己宽度的50%做为起始点;如果是50%p,那么就是表示在当前的左上角加上父控件宽度的50%做为起始点x轴坐标。(具体意义,后面会举例演示) 

android:pivotY           缩放起点Y轴坐标,取值及意义跟android:pivotX一样。 


        

        

      android:fillAfter   如果设置为true,控件动画结束时,将保持动画最后时的状态 

      android:fillBefore       如果设置为true,控件动画结束时,还原到开始动画前的状态 

    android:repeatCount 重复次数 

android:repeatMode  重复类型,有reverse和restart两个值,reverse表示倒序回放,restart表示重新放一遍,必须与repeatCount一起使用才能看到效果。因为这里的意义是重复的类型,即回放时的动作。 

android:interpolator  设定插值器,其实就是指定的动作效果,比如弹跳效果等,不在这小节中讲解,后面会单独列出一单讲解。 

      2. 

      alpha标签——调节透明度 

1、自身属性 

android:fromAlpha   动画开始的透明度,从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明 

android:toAlpha       动画结束时的透明度,也是从0.0 --1.0 ,0.0表示全透明,1.0表示完全不透明 

      

      

     3.Rotate 

     android:fromDegrees     开始旋转的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数 

android:toDegrees         结束时旋转到的角度位置,正值代表顺时针方向度数,负值代码逆时针方向度数 

android:pivotX               缩放起点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲 

android:pivotY               缩放起点Y轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p 

     

     

    4.translate标签所具有的属性为:  

android:fromXDelta     起始点X轴坐标,可以是数值、百分数、百分数p 三种样式,比如 50、50%、50%p,具体意义已在scale标签中讲述,这里就不再重讲 

android:fromYDelta    起始点Y轴从标,可以是数值、百分数、百分数p 三种样式; 

android:toXDelta         结束点X轴坐标 

android:toYDelta        结束点Y轴坐标  



缩放动画
ScaleAnimation scaleAnimation = new ScaleAnimation(1f, 4f, 1f, 4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);scaleAnimation.setDuration(1000);iv_animation.startAnimation(scaleAnimation);
旋转动画 
RotateAnimation rotateAnimation = new RotateAnimation( 0,360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.ABSOLUTE, 0.5f);rotateAnimation.setDuration(1000);iv_animation.startAnimation(rotateAnimation);

透明度动画 
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 10);alphaAnimation.setDuration(5000);iv_animation.startAnimation(alphaAnimation);
平衡动画 
TranslateAnimation translateAnimation = new TranslateAnimation(1,150,0,0);translateAnimation.setDuration(2000);iv_animation.startAnimation(translateAnimation);
复合动画 
//旋转动画RotateAnimation rotateAnimation = new RotateAnimation( 0,360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.ABSOLUTE, 0.5f);rotateAnimation.setDuration(1000);//透明度动画AlphaAnimation alphaAnimation = new AlphaAnimation(0, 10);alphaAnimation.setDuration(5000);AnimationSet animationSet = new AnimationSet(false);animationSet.addAnimation(rotateAnimation);animationSet.addAnimation(alphaAnimation);iv_animation.startAnimation(animationSet);



原创粉丝点击