轉]android animation的應用執行個體

來源:互聯網
上載者:User
此檔案名稱為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()方法才可以再次啟動動畫。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.