1. 程式人生 > >Android三種動畫的對比與簡單理解

Android三種動畫的對比與簡單理解

Android三種動畫分別為幀動畫(Frame Animation)補間動畫(Tween Animation)屬性動畫(Property Animation)

動畫分為傳統動畫和屬性動畫

傳統動畫分為幀動畫和補間動畫

Android3.0之後出現的屬性動畫

 

幀動畫

1、幀動畫的特性:

  • a. 用於生成連續的Gif效果圖。

  • b. DrawableAnimation也是指此動畫

2、幀動畫的優缺點:

  • 缺點:效果單一,逐幀播放需要很多圖片,佔用空間較大
  • 優點:製作簡單

補間動畫

1、補間動畫的特性:

  • a.漸變動畫支援四種類型:平移(Translate)、旋轉(Rotate)、縮放(Scale)、不透明度

  • b. 只是顯示的位置變動,View的實際位置未改變,表現為View移動到其他地方,點選事件仍在原處才能響應。

  • c. 組合使用步驟較複雜。

  • d. View Animation 也是指此動畫。

2、補間動畫的優缺點:

  • 缺點:當平移動畫執行完停在最後的位置,結果焦點還在原來的位置(控制元件的屬性沒有真的被改變)
  • 優點:相對於逐幀動畫來說,補間動畫更為連貫自然

屬性動畫

下面我們著重介紹下屬性動畫,乾貨來了

1、屬性動畫的特性:

  • a.支援對所有View能更新的屬性的動畫(需要屬性的setXxx()和getXxx())。
  • b. 更改的是View實際的屬性,所以不會影響其在動畫執行後所在位置的正常使用。
  • c. Android3.0(API11)及以後出現的功能,3.0之前的版本可使用github第三方開源庫nineoldandroids.jar進行支援。

2、屬性動畫的優缺點:

  • 缺點:(3.0+API出現)向下相容問題
  • 優點:易定製,效果強

三者最大的區別

屬性動畫,顧名思義直接是改變的控制元件的屬性。仔細的同學可能會發現:在補間動畫中即使他的位置發生了變化,但是他的諸如 點選事件,監聽 ,都還停留在原地,不會跟著控制元件位置的變化去跟著改變。屬性動畫最大的特點就是 保留了這些監聽之類的屬性,即使位置發生變化也不會影響它的使用。