android的animation由四种类型组成,xml中,alpha渐变透明度动画效果,scale渐变尺寸伸缩动画效果,translate画面转换位置一动效果,rotate画面转移旋转动画效果。

在java中,alphaAnimation,ScaleAnimation,TranslateAnimation,RotateAnimation,这些和上面的效果一一对应。

如何在xml文件中定义动画:

① 打开Eclipse,新建Android工程
② 在res目录中新建anim文件夹
③ 在anim目录中新建一个myanim.xml(注意文件名小写)
④ 加入XML的动画代码



<?xml version=          "1.0"          encoding=          "utf-8"          ?>         


          <          set          xmlns:android=          "http://schemas.android.com/apk/res/android"          >         


                    <alpha/>         


                    <scale/>         


                    <translate/>         


                    <rotate/>         


          </          set>


Android动画解析--XML

<alpha>

 



<?xml version=          "1.0"          encoding=          "utf-8"          ?>         


          <          set          xmlns:android=          "http://schemas.android.com/apk/res/android"          >         


          <alpha         


          android:fromAlpha=          "0.1"         


          android:toAlpha=          "1.0"         


          android:duration=          "3000"         


          />          


          <!-- 透明度控制动画效果 alpha         


                    浮点型值:         


                    fromAlpha 属性为动画起始时透明度         


                    toAlpha   属性为动画结束时透明度         


                    说明:          


                    0.0表示完全透明         


                    1.0表示完全不透明         


                    以上值取0.0-1.0之间的          float          数据类型的数字         


                    


                    长整型值:         


                    duration  属性为动画持续时间         


                    说明:              


                    时间以毫秒为单位         


          -->         


          </          set          >



 

如何使用XML中的动画效果



public           static          Animation loadAnimation (Context context,           int          id)          


          //第一个参数Context为程序的上下文             


          //第二个参数id为动画XML文件的引用         


          //例子:         


          myAnimation= AnimationUtils.loadAnimation(          this          ,R.anim.my_action);         


          //使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件


如何在Java代码中定义动画


//在代码中定义 动画实例对象         


          private           Animation myAnimation_Alpha;         


          private           Animation myAnimation_Scale;         


          private           Animation myAnimation_Translate;         


          private           Animation myAnimation_Rotate;         


                    


                    //根据各自的构造方法来初始化一个实例对象         


          myAnimation_Alpha=          new          AlphaAnimation(          0          .1f,           1          .0f);         


                    


          myAnimation_Scale =          new          ScaleAnimation(          0          .0f,           1          .4f,           0          .0f,           1          .4f,         


                    Animation.RELATIVE_TO_SELF,           0          .5f, Animation.RELATIVE_TO_SELF,           0          .5f);         


                    


          myAnimation_Translate=          new          TranslateAnimation(          30          .0f, -          80          .0f,           30          .0f,           300          .0f);         


                    


          myAnimation_Rotate=          new          RotateAnimation(          0          .0f, +          350          .0f,         


                    Animation.RELATIVE_TO_SELF,          0          .5f,Animation.RELATIVE_TO_SELF,           0          .5f);




  Android动画解析--JavaCode


AlphaAnimation

① AlphaAnimation类对象定义





private           AlphaAnimation myAnimation_Alpha;


  ② AlphaAnimation类对象构造


AlphaAnimation(          float          fromAlpha,           float          toAlpha)          


          //第一个参数fromAlpha为 动画开始时候透明度         


          //第二个参数toAlpha为 动画结束时候透明度         


          myAnimation_Alpha=          new          AlphaAnimation(          0          .1f,           1          .0f);         


          //说明:          


          //                0.0表示完全透明         


          //                1.0表示完全不透明


  ③ 设置动画持续时间




myAnimation_Alpha.setDuration(          5000          );         


          //设置时间持续时间为 5000毫秒


  ScaleAnimation

① ScaleAnimation类对象定义




private           AlphaAnimation myAnimation_Alpha;



  ② ScaleAnimation类对象构造




ScaleAnimation(          float          fromX,           float           toX,           float          fromY,           float          toY,         


                    int          pivotXType,           float          pivotXValue,           int          pivotYType,           float          pivotYValue)          


          //第一个参数fromX为动画起始时 X坐标上的伸缩尺寸             


          //第二个参数toX为动画结束时 X坐标上的伸缩尺寸              


          //第三个参数fromY为动画起始时Y坐标上的伸缩尺寸             


          //第四个参数toY为动画结束时Y坐标上的伸缩尺寸           


          /*说明:         


                    以上四种属性值             


                    0.0表示收缩到没有          


                    1.0表示正常无伸缩              


                    值小于1.0表示收缩           


                    值大于1.0表示放大         


          */         


          //第五个参数pivotXType为动画在X轴相对于物件位置类型           


          //第六个参数pivotXValue为动画相对于物件的X坐标的开始位置         


          //第七个参数pivotXType为动画在Y轴相对于物件位置类型            


          //第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置         


          myAnimation_Scale =          new          ScaleAnimation(          0          .0f,           1          .4f,           0          .0f,           1          .4f,         


                    Animation.RELATIVE_TO_SELF,           0          .5f, Animation.RELATIVE_TO_SELF,           0          .5f);


③ 设置动画持续时间





myAnimation_Scale.setDuration(          700          );         


          //设置时间持续时间为 700毫秒




个人理解就这么多    谢谢!