现在的位置: 首页 > 综合 > 正文

转]android animation的应用实例

2013年09月07日 ⁄ 综合 ⁄ 共 4287字 ⁄ 字号 评论关闭
此文件名为myanimation.xml 位于 res/anim文件夹下,具体释义已在文件中解释:
 
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3.    
  4.     <!--    
  5.         Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效   
  6.            
  7.         Alpha:渐变透明度动画效果   
  8.         Scale:渐变尺寸伸缩动画效果   
  9.         Translate:画面转换位置移动动画效果   
  10.         Rotate:画面旋转动画效果   
  11.            
  12.         Tween Animation 通用属性[类型]    功能     
  13.             Duration[long]  属性为动画持续时间   时间以毫秒为单位   
  14.             fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用   
  15.             fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用   
  16.                
  17.             interpolator    指定一个动画的插入器  有一些常见的插入器   
  18.             accelerate_decelerate_interpolator   
  19.             加速-减速 动画插入器   
  20.             accelerate_interpolator   
  21.             加速-动画插入器   
  22.             decelerate_interpolator   
  23.             减速- 动画插入器   
  24.             其他的属于特定的动画效果   
  25.             repeatCount[int]    动画的重复次数    
  26.             RepeatMode[int] 定义重复的行为 1:重新开始  2:plays backward   
  27.             startOffset[long]   动画之间的时间间隔,从上次动画停多少时间开始执行下个动画   
  28.             zAdjustment[int]    定义动画的Z Order的改变 0:保持Z Order不变   
  29.             1:保持在最上层   
  30.             -1:保持在最下层 
  31.      -->   
  32.     <!--   
  33.         透明控制动画    
  34.      -->   
  35.     <alpha   
  36.         android:fromAlpha="0.1"    
  37.         android:toAlpha="1.0"   
  38.         android:duration="3000"   
  39.     />   
  40.            
  41.     <!-- 尺寸伸缩动画效果 scale   
  42.       
  43.         属性:interpolator 指定一个动画的插入器   
  44.    
  45.         有三种动画插入器:   
  46.          accelerate_decelerate_interpolator  加速-减速 动画插入器   
  47.          accelerate_interpolator        加速-动画插入器   
  48.          decelerate_interpolator        减速- 动画插入器   
  49.    
  50.         其他的属于特定的动画效果   
  51.    
  52.             fromXScale 属性为动画起始时 X坐标上的伸缩尺寸       
  53.             toXScale   属性为动画结束时 X坐标上的伸缩尺寸        
  54.    
  55.             fromYScale 属性为动画起始时Y坐标上的伸缩尺寸       
  56.             toYScale   属性为动画结束时Y坐标上的伸缩尺寸       
  57.    
  58.             说明:   
  59.                  以上四种属性值       
  60.                     0.0表示收缩到没有    
  61.                     1.0表示正常无伸缩        
  62.                     值小于1.0表示收缩     
  63.                     值大于1.0表示放大   
  64.                        
  65.             pivotX     属性为动画相对于物件的X坐标的开始位置   
  66.             pivotY     属性为动画相对于物件的Y坐标的开始位置   
  67.             说明:   
  68.                     以上两个属性值 从0%-100%中取值   
  69.                     50%为物件的X或Y方向坐标上的中点位置   
  70.         长整型值:   
  71.             duration  属性为动画持续时间   
  72.             说明:   时间以毫秒为单位   
  73.    
  74.         布尔型值:   
  75.             fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用   
  76.     -->   
  77.     <scale 
  78.         android:interpolator="@android:anim/accelerate_decelerate_interpolator"   
  79.         android:repeatCount="1"   
  80.            
  81.         android:fromXScale="0.5"   
  82.         android:fromYScale="0.5"   
  83.         android:toXScale="1.4"         
  84.         android:toYScale="1.4"   
  85.         android:pivotX="50%"   
  86.         android:pivotY="50%"   
  87.         android:fillAfter="false"   
  88.         android:duration="3000"   
  89.            
  90.     />   
  91.     <!--    
  92.         画面转换位置移动动画效果 translate   
  93.        
  94.         fromXDelta toXDelta 为动画、结束起始时 X坐标上的位置      
  95.         fromYDelta toYDelta 为动画、结束起始时 Y坐标上的位置   
  96.      -->   
  97.  
  98.     <translate   
  99.         android:repeatCount="2"   
  100.         android:fromXDelta="-30"   
  101.         android:fromYDelta="-30"   
  102.         android:toXDelta="-80"         
  103.         android:toYDelta="200"   
  104.         android:duration="3000"   
  105.     />   
  106.     <!--    
  107.         画面转移旋转动画效果 rotate   
  108.            
  109.         fromDegrees 为动画起始时物件的角度 说明   
  110.             当角度为负数——表示逆时针旋转   
  111.             当角度为正数——表示顺时针旋转   
  112.             (负数from——to正数:顺时针旋转)   
  113.             (负数from——to负数:逆时针旋转)   
  114.             (正数from——to正数:顺时针旋转)   
  115.             (正数from——to负数:逆时针旋转)   
  116.             toDegrees   属性为动画结束时物件旋转的角度 可以大于360度   
  117.         pivotX   
  118.         pivotY  为动画相对于物件的X、Y坐标的开始位  说明:以上两个属性值 从0%-100%中取值   
  119.         50%为物件的X或Y方向坐标上的中点位置   
  120.      -->   
  121.     <rotate   
  122.         android:interpolator="@android:anim/accelerate_interpolator"   
  123.         android:repeatCount="2"   
  124.         android:fromDegrees="0"   
  125.         android:toDegrees="+270"   
  126.         android:pivotX="50%"   
  127.         android:pivotY="50%"   
  128.         android:duration="3000"   
  129.     />   
  130.   
  131. </set>   
 用法:
         加入把此动画定义用到一个TextView上,那么需要做的工作很简单:
 
  1. Animation mAnimation ;   
  2. mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim);   
  3. TextView text = (TextView)findViewById(R.id.textview00);   
  4. text.setAnimation(mAnimation);   
 
此处要注意一点:
        要用AnimationDrawable 的start()方法来启动动画,不管动画是否完毕,想要第二次启动动画一定要先调用它的stop()方法才可以再次启动动画。

抱歉!评论已关闭.