Android 動畫實現(xiàn)幾種方案
Android 動畫實現(xiàn)幾種方案
在 Android 的 FrameWork 中,為我們提供三種動畫的實現(xiàn)方式:逐幀(Frame)動畫、視圖/補間動畫(View Animation)和屬性動畫(Property Animation)。由于,這三種動畫的實現(xiàn)方式和針對面不一樣,應用的范圍也有所區(qū)別,因此我們需要根據(jù)具體的需求來選擇正確動畫類型。
根據(jù) SDK 中的描述,這三者的功能強大程度為:逐幀動畫 < 視圖動畫 < 屬性動畫。
一、逐幀動畫(Frame Animation)
該動畫的方式就是將動畫的過程的每一張靜態(tài)圖片都收集起來,然后依次顯示這些圖片,利用人眼的“視覺停留”的原理,給用戶產生動畫的效果。
逐幀動畫是一種常見的動畫形式(Frame By Frame),其原理是在“連續(xù)的關鍵幀”中分解動畫動作,也就是在時間軸的每幀上逐幀繪制不同的內容,使其連續(xù)播放而成動畫。 因為逐幀動畫的幀序列內容不一樣,不但給制作增加了負擔而且最終輸出的文件量也很大,但它的優(yōu)勢也很明顯:逐幀動畫具有非常大的靈活性,幾乎可以表現(xiàn)任何想表現(xiàn)的內容,而它類似與電影的播放模式,很適合于表演細膩的動畫。例如:人物或動物急劇轉身、 頭發(fā)及衣服的飄動、走路、說話以及精致的 3D 效果等等。
二、視圖動畫(Tween Animation)
也稱為補間(Tween)動畫,根據(jù)這兩個定義可以看出該動畫方式的一些特征:
1、該動畫方式只是針對于 View 對象實現(xiàn) view 組件的移動、放大、縮小以及漸變等效果,例如 ImageView、Button 等;
2、實現(xiàn)該動畫時,只需要給出兩個關鍵幀中的內容即可,動畫中各個過渡幀中的內容由 flash 自動生成??梢岳斫獬赏纳x,就是在兩點之間插入漸變值來平滑過渡。
由于視圖動畫在 Android 中是一個 older system,所以還不能對所有的效果進行支持,目前只支持:
1、透明度變化的動畫(AlphaAnimation);
2、大小縮放的動畫(ScaleAnimation);
3、位置變化的動畫(TranslateAnimation);
4、旋轉動畫(RotateAnimation)。
三、屬性動畫
為了彌補視圖動畫的不足,Android 在 3.0 中引入了屬性動畫。和視圖動畫專注與視圖效果不同,它更專注于對象的屬性的變化,通過改變對象的屬性而實現(xiàn)動畫包括可是屬性和其他屬性,不論該對象是否可見。例如:你使用視圖動畫將一個 Button 放大一倍,在界面上的效果可以實現(xiàn),但是該 Button 的觸摸響應區(qū)域還是和原來的一樣,也就是說,視圖動畫并不是真正的將該 Button 放大一倍。
屬性動畫和補間動畫類似,不過是真的屬性在變動,包括可視屬性和其他屬性。
補間動畫僅僅是可視屬性在顯示層面的動畫,屬性的實質并未改動。
一般情況下推薦使用最新的屬性動畫。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android UniversalVideoView實現(xiàn)視頻播放器
這篇文章主要為大家詳細介紹了Android UniversalVideoView實現(xiàn)視頻播放器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04
Android利用WindowManager生成懸浮按鈕及懸浮菜單
這篇文章主要為大家詳細介紹了Android利用WindowManager生成懸浮按鈕及懸浮菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01
Android編程實現(xiàn)TextView部分顏色變動的方法
這篇文章主要介紹了Android編程實現(xiàn)TextView部分顏色變動的方法,實例分析了TextView設置指定位置的背景色與字體顏色的相關技巧,需要的朋友可以參考下2015-12-12
Android編程基于自定義view實現(xiàn)公章效果示例【附源碼下載】
這篇文章主要介紹了Android編程基于自定義view實現(xiàn)公章效果,結合實例形式分析了Android使用自定義view進行圖形繪制的相關操作技巧,并附帶完整實例源碼供讀者下載參考,需要的朋友可以參考下2017-11-11
Android使用GestureOverlayView控件實現(xiàn)手勢識別
這篇文章主要為大家詳細介紹了Android使用GestureOverlayView控件實現(xiàn)手勢識別,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
Android JSON數(shù)據(jù)與實體類之間的相互轉化(GSON的用法)
這篇文章主要介紹了Android JSON數(shù)據(jù)與實體類之間的相互轉化(GSON的用法),非常具有實用價值,需要的朋友可以參考下。2017-01-01

