Android動畫效果translate、scale、alpha、rotate詳解

動畫類型

Androidanimation由四種類型組成

XML
alpha 漸變透明度動畫效果
scale 漸變尺寸伸縮動畫效果
translate 畫面轉換位置移動動畫效果
rotate 畫面轉移旋轉動畫效果


JavaCode
AlphaAnimation 漸變透明度動畫效果
ScaleAnimation 漸變尺寸伸縮動畫效果
TranslateAnimation 畫面轉換位置移動動畫效果
RotateAnimation 畫面轉移旋轉動畫效果

Android動畫模式

Animation主要有兩種動畫模式

一種是tweened animation(漸變動畫)
XML JavaCode
alpha AlphaAnimation
scale ScaleAnimation


一種是frame by frame(畫面轉換動畫)

XML中 JavaCode
translate TranslateAnimation
rotate RotateAnimation

Android動畫解析

alpha xml 淡出效果


  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <alpha   
  4.     android:fromAlpha="1.0"    
  5.     android:toAlpha="0.0"    
  6.     android:duration="500"  />   
  7. </set>   
  8. <!--    
  9.     fromAlpha:開始時透明度   
  10.     toAlpha: 結束時透明度   
  11.     duration:動畫持續時間 -->  

alpha xml 淡入效果

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <alpha   
  4.     android:fromAlpha="0.0"    
  5.     android:toAlpha="1.0"    
  6.     android:duration="500"  />   
  7. </set>   
  8. <!--    
  9.     fromAlpha:開始時透明度   
  10.     toAlpha: 結束時透明度   
  11.     duration:動畫持續時間 -->  


rotate.xml 旋轉效果: 
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3. <rotate                                        
  4.     android:interpolator="@android:anim/accelerate_decelerate_interpolator"   
  5.     android:fromDegrees="300"   
  6.     android:toDegrees="-360"   
  7.     android:pivotX="10%"   
  8.     android:pivotY="100%"   
  9.     android:duration="10000" />   
  10. </set>   
  11. <!--    
  12.   fromDegrees   動畫開始時的角度   
  13.   toDegrees     動畫結束時物件的旋轉角度,正代表順時針     
  14.   pivotX    屬性爲動畫相對於物件的X座標的開始位置  
  15.   pivotY    屬性爲動畫相對於物件的Y座標的開始位置    -->   


scale.xml 縮放效果: 

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">   
  3. <scale     
  4.     android:interpolator= "@android:anim/decelerate_interpolator"         
  5.     android:fromXScale="0.0"     
  6.     android:toXScale="1.5"     
  7.     android:fromYScale="0.0"     
  8.     android:toYScale="1.5"     
  9.     android:pivotX="50%"     
  10.     android:pivotY="50%"     
  11.     android:startOffset="0"     
  12.     android:duration="10000"    
  13.     android:repeatCount="1"     
  14.     android:repeatMode="reverse"  />   
  15. </set>   
  16.   
  17. <!--    
  18. fromXDelta,fromYDelta       起始時X,Y座標,屏幕右下角的座標是X:320,Y:480   
  19. toXDelta, toYDelta      動畫結束時X,Y的座標 --> <!--    
  20. interpolator                    指定動畫插入器  
  21. 常見的有加速減速插入器         accelerate_decelerate_interpolator  
  22. 加速插入器               accelerate_interpolator,  
  23. 減速插入器               decelerate_interpolator。   
  24. fromXScale,fromYScale,         動畫開始前X,Y的縮放,0.0爲不顯示,  1.0爲正常大小  
  25. toXScale,toYScale,          動畫最終縮放的倍數, 1.0爲正常大小,大於1.0放大  
  26. pivotX,  pivotY         動畫起始位置,相對於屏幕的百分比,兩個都爲50%表示動畫從屏幕中間開始   
  27. startOffset,                動畫多次執行的間隔時間,如果只執行一次,執行前會暫停這段時間,  
  28.                     單位毫秒 duration,一次動畫效果消耗的時間,單位毫秒,  
  29.                     值越小動畫速度越快 repeatCount,動畫重複的計數,動畫將會執行該值+1次   
  30.                     repeatMode,動畫重複的模式,reverse爲反向,當第偶次執行時,動畫方向會相反。  
  31.                     restart爲重新執行,方向不變 -->  




translate.xml 移動效果: 
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3. <translate   
  4.     android:fromXDelta="320"   
  5.     android:toXDelta="0"   
  6.     android:fromYDelta="480"   
  7.     android:toYDelta="0"   
  8.     android:duration="10000" />   
  9. </set>   
  10. <!--    
  11. fromXDelta,fromYDelta   起始時X,Y座標,屏幕右下角的座標是X:320,Y:480   
  12. toXDelta, toYDelta     動畫結束時X,Y的座標 -->   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章