1. 程式人生 > >Android動畫學習篇(一)【TweenAnimation】

Android動畫學習篇(一)【TweenAnimation】

動畫基礎篇學習之TweenAnimation

    基於上一篇我們簡單的提到了ObjectAnimator動畫,這一篇我們一起學習一下動畫初級篇(檢視動畫/補間動畫),檢視動畫使用比較簡單,它提供了AlphaAnimation(透明動畫),RotateAnimation(旋轉動畫),TranslateAnimation(位置動畫),ScaleAnimation(尺寸動畫)四種動畫方式,並且提供了這些動畫的組合類AnimationSet(動畫集合),檢視動畫優點在於使用方便,效率高,且xml檔案書寫邏輯清晰,有優點必有瑕疵,缺點就是:不具備互動性,當某個佈局中的View發生檢視動畫後,它的相應事件還是在動畫原始位置,不會隨之檢視動畫而改變,所以檢視動畫只能作為簡單的動畫效果,避免交互發生。


檢視動畫缺點演示GIF圖

一、檢視動畫xml檔案存放位置


二、使用技巧
    簡要說明:AlphaAnimation,RotateAnimation,TranslateAnimation,
   2.1,透明動畫:為檢視增加透明度的變化動畫
java實現◆:
   ★xml實現★:
 
   ▼java呼叫

是不是上手很容易,好下面我們看效果圖

    (透明動畫效果圖

   2.2,旋轉動畫:為檢視增加旋轉的變化效果
   ◆java實現
     xml實現★:
      java呼叫:這裡不說明了和上面一樣


(旋轉動畫效果圖)

學習到這裡是不是感覺很輕鬆,下面我講解一下動畫經常用到的幾個方法:

Java方法setFillAfter(boolean)   ◇設定為true,控制元件動畫結束時將保持動畫最後一幀(xml檔案中,需要設定在set便籤才生效)。        
Java方法:android:interpolator:插值器。設定動畫速率的變化(譬如加速、減速、勻速等)
  ◇LinearInterpolator:動畫以均勻的速度改變。
   ◇AccelerateInterpolator:動畫開始的地方改變速度慢,然後開始加速。
   ◇AccelerateDecelerateInterpolator:動畫開始的地方改變速度慢,中間時候加速。
   ◇CycleInterpolator:動畫迴圈播放特定的次數,變化速度按正弦曲線改變。
   ◇DecelerateInterpolator:動畫開始速度快,然後開始減速。
Java方法setRepeatCount(int):重複模式,有reverse(倒序)和restart(重複)兩種,必須配合repeatCount一起使用。Java方法setRepeatMode(int):
◇“-1”為重複迴圈
Java方法:setStartOffset(long):
android:startOffset: 延遲一定毫秒之後才開始動畫。

介紹了上述方法,下面繼續講解檢視動畫
2.3,位移動畫為檢視移動時增加位移動畫
java實現

    xml實現★:


(平移動畫效果圖)
   2.4,尺寸動畫為檢視縮放時改變尺寸動畫
java實現

    xml實現★:


(縮放動畫效果圖) 下面我以xml檔案為例列舉這幾個檢視動畫的混合動畫(Show Timer):
下面給大家一個表演的機會,大家學到這裡一定也能做到上述我的效果;具體程式碼我就不附上,簡單的思路我提一下:動畫涉及到旋轉,縮放,透明度這三個。相信你快動手實現,然後和我一起學習動畫第二篇!加油!! 謝謝品讀! 謝謝我的女王大人等我寫完!