Android三種動畫的對比與簡單理解
阿新 • • 發佈:2018-12-17
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出現)向下相容問題
- 優點:易定製,效果強
三者最大的區別
屬性動畫,顧名思義直接是改變的控制元件的屬性。仔細的同學可能會發現:在補間動畫中即使他的位置發生了變化,但是他的諸如 點選事件,監聽 ,都還停留在原地,不會跟著控制元件位置的變化去跟著改變。屬性動畫最大的特點就是 保留了這些監聽之類的屬性,即使位置發生變化也不會影響它的使用。