android 动画

Tween动画:

   动态代码使用方法:

 

技术分享
AlphaAnimation:

                  //创建一个AnimationSet对象,参数为Boolean型,

           //true表示使用Animation的interpolator,false则是使用自己的

           AnimationSet animationSet = new AnimationSet(true);

           //创建一个AlphaAnimation对象,参数从完全的透明度,到完全的不透明

           AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);

           //设置动画执行的时间

           alphaAnimation.setDuration(500);

           //将alphaAnimation对象添加到AnimationSet当中

           animationSet.addAnimation(alphaAnimation);

           //使用ImageView的startAnimation方法执行动画

           image.startAnimation(animationSet);

RotateAnimation:

            AnimationSet animationSet = new AnimationSet(true);

           //参数1:从哪个旋转角度开始

           //参数2:转到什么角度

           //后4个参数用于设置围绕着旋转的圆的圆心在哪里

           //参数3:确定x轴坐标的类型,有ABSOLUT绝对坐标、RELATIVE_TO_SELF相对于自身坐标、RELATIVE_TO_PARENT相对于父控件的坐标

           //参数4:x轴的值,0.5f表明是以自身这个控件的一半长度为x轴

           //参数5:确定y轴坐标的类型

           //参数6:y轴的值,0.5f表明是以自身这个控件的一半长度为x轴

           RotateAnimation rotateAnimation = new RotateAnimation(0, 360,

                  Animation.RELATIVE_TO_SELF,0.5f,

                  Animation.RELATIVE_TO_SELF,0.5f);

           rotateAnimation.setDuration(1000);

           animationSet.addAnimation(rotateAnimation);

           image.startAnimation(animationSet);

           //参数1:x轴的初始值

           //参数2:x轴收缩后的值

           //参数3:y轴的初始值

           //参数4:y轴收缩后的值

           //参数5:确定x轴坐标的类型

           //参数6:x轴的值,0.5f表明是以自身这个控件的一半长度为x轴

           //参数7:确定y轴坐标的类型

           //参数8:y轴的值,0.5f表明是以自身这个控件的一半长度为x轴

           ScaleAnimation scaleAnimation = new ScaleAnimation(

                  0, 0.1f,0,0.1f,

                  Animation.RELATIVE_TO_SELF,0.5f,

                  Animation.RELATIVE_TO_SELF,0.5f);

           scaleAnimation.setDuration(1000);

           animationSet.addAnimation(scaleAnimation);

           image.startAnimation(animationSet);

TranslateAnimation 

A         nimationSet animationSet = new AnimationSet(true);

           //参数1~2:x轴的开始位置

           //参数3~4:y轴的开始位置

           //参数5~6:x轴的结束位置

           //参数7~8:x轴的结束位置

           TranslateAnimation translateAnimation =

              new TranslateAnimation(

                  Animation.RELATIVE_TO_SELF,0f,

                  Animation.RELATIVE_TO_SELF,0.5f,

                  Animation.RELATIVE_TO_SELF,0f,

                  Animation.RELATIVE_TO_SELF,0.5f);

           translateAnimation.setDuration(1000);

           animationSet.addAnimation(translateAnimation);

           image.startAnimation(animationSet);





Tween Animations的通用方法

  1、setDuration(long durationMills)   设置动画持续时间(单位:毫秒)   

     、setFillAfter(Boolean fillAfter)   如果fillAfter的值为true,则动画执行后,控件将停留在执行结束的状态   

     、setFillBefore(Boolean fillBefore)   如果fillBefore的值为true,则动画执行后,控件将回到动画执行之前的状态   

     4、setStartOffSet(long startOffSet)   设置动画执行之前的等待时间  

   5、setRepeatCount(int repeatCount)   设置动画重复执行的次数

 

   XML里面使用的步骤:

   

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

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

    android:interpolator="@android:anim/accelerate_interpolator">

<alpha

        android:fromAlpha="1.0"

        android:toAlpha="0.0"

        android:startOffset="500"

     android:duration="500"/>

</set>

Animation animation = AnimationUtils.loadAnimation(

                  Animation1Activity.this, R.anim.alpha);

           // 启动动画

           image.startAnimation(animation);
View Code

 

  Frame动画

技术分享
 

<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"     android:oneshot="false" >

    <item         android:drawable="@drawable/icon_one"         android:duration="150">     </item>    

   <item         android:drawable="@drawable/icon_two"         android:duration="150">     </item>     

   <item         android:drawable="@drawable/icon_three"         android:duration="150">     </item>

</animation-list>


 animationIV.setImageResource(R.drawable.framebyframe);
    animationDrawable = (AnimationDrawable) animationIV
      .getDrawable();
    animationDrawable.start();
View Code

 

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。