我們不僅可以在程式中通過代碼來編寫一個補間動畫,也可以通過xml檔案來定義一個補間動畫,下面通過一個具體的DEMO來學習xml補間動畫的編寫。 建立工程 【File】——>【new】——>【Android Application Project】命名為:11_補間動畫xml 編寫布局 根據需求編寫布局,效果如圖1-1:

圖1-1所示的頁面與“10_補間動畫”一緻,在此就不展示該頁面的xml代碼了。下面我們要實作的是各個功能按鈕的動畫效果, 具體代碼如下: 透明度編寫 在資源檔案下建立一個檔案夾anim,再在該檔案夾下建立一個alpha.xml檔案,在該檔案中定義透明度變化的動畫效果,代碼 如例1-1: 例1-1 <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0" android:toAlpha="1.0" android:duration="2000" android:repeatCount="2" android:repeatMode="reverse"> </alpha> 複制代碼 動畫定義已經完成,我們接下來需要做的是:在activity中實作動畫資源的加載。代碼如例1-2所示: 例1-2 public void alpha(View view) { Animation aa = AnimationUtils.loadAnimation(this, R.anim.alpha); iv.setAnimation(aa); } 複制代碼 運作程式效果如圖1-2所示:
旋轉編寫 在檔案夾anim下建立一個rotate.xml檔案,在該檔案中定義旋轉動畫,代碼如例1-3所示: 例1-3 <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="0" android:toDegrees="360" android:pivotX="50%" android:pivotY="50%" android:duration="2000" android:repeatCount="2" android:repeatMode="reverse"> </rotate> 複制代碼 由例1-3可知:圖檔會以自身的中心點為原點進行旋轉,若以父窗體中心點為旋轉中心,需要調整代碼為: android:pivotX="50%p" android:pivotY="50%p" 在Activity編寫旋轉按鈕的點選事件,代碼如例1-4: 例1-4 public void rotate(View view){ Animation aa = AnimationUtils.loadAnimation(this, R.anim.rotate); iv.setAnimation(aa); } 複制代碼 運作程式,效果如圖1-3所示:
本文版權歸傳智播客 Android教育訓練學院所有,歡迎轉載,轉載請注明作者出處。謝謝!
作者:傳智播客Android教育訓練學院
首發: http://www.itcast.cn/android/