歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中的動畫實現詳解

Android中的動畫實現詳解

日期:2017/3/1 10:03:02   编辑:Linux編程

在Android的FrameWork中,為我們提供三種動畫的實現方式:逐幀(Frame)動畫、視圖動畫(View Animation)和屬性動畫(Property Animation)。由於,這三種動畫的實現方式和針對面不一樣,應用的范圍也有所區別,因此我們需要根據具體的需求來選擇正確動畫類型。

根據SDK中的描述,這三者的功能強大程度為:逐幀動畫<視圖動畫<屬性動畫。

一、逐幀動畫:

該動畫的方式就是將動畫的過程的每一張靜態圖片都收集起來,然後依次顯示這些圖片,利用人眼的“視覺停留”的原理,給用戶產生動畫的效果。該方式雖然笨拙,但是也很有用,例如在浏覽圖片的時候,就可以使用這種方式實現逐幀浏覽了。

二、視圖動畫:

也稱為補間(Tween)動畫,根據這兩個定義可以看出該動畫方式的一些特征:

1)該動畫方式只是針對於View對象,例如ImageView、Button等;

2)實現該動畫時,只需要給出兩個關鍵幀的相關屬性,Android會給你生給定成時間段內的兩關鍵幀的動畫漸變過程。

由於視圖動畫在Android中是一個older system,所以還不能對所有的效果進行支持,目前只支持:

1)透明度變化的動畫(AlphaAnimation);

2)大小縮放的動畫(ScaleAnimation);

3)位置變化的動畫(TranslateAnimation);

4)旋轉動畫(RotateAnimation)。

三、屬性動畫:

為了彌補視圖動畫的不足,Android在3.0中引入了屬性動畫。和視圖動畫專注與視圖效果不同,它更專注於對象的屬性的變化,通過改變對象的屬性而實現動畫,不論該對象是否可見。例如:你使用視圖動畫將一個Button放大一倍,在界面上的效果可以實現,但是該Button的觸摸響應區域還是和原來的一樣,也就是說,視圖動畫並不是真正的將該Button放大一倍。

Copyright © Linux教程網 All Rights Reserved