Android開發(fā)之動畫實(shí)現(xiàn)方法
本文實(shí)例講述了Android開發(fā)之動畫實(shí)現(xiàn)方法。分享給大家供大家參考。具體分析如下:
動畫分為三種:
逐幀動畫、布局動畫和控件動畫
控件動畫實(shí)現(xiàn)
通過重寫Animation的 applyTransformation (float interpolatedTime, Transformation t)函數(shù)來實(shí)現(xiàn)自定義動畫效果,另外一般也會實(shí)現(xiàn) initialize (int width, int height, int parentWidth, int parentHeight)函數(shù),這是一個回調(diào)函數(shù)告訴Animation目標(biāo)View的大小參數(shù),在這里可以初始化一些相關(guān)的參數(shù),例如設(shè)置動畫持續(xù)時間、設(shè)置Interpolator、設(shè)置動畫的參考點(diǎn)等。
OPhone在繪制動畫的過程中會反復(fù)的調(diào)用applyTransformation 函數(shù),每次調(diào)用參數(shù)interpolatedTime值都會變化,該參數(shù)從0漸變?yōu)?,當(dāng)該參數(shù)為1時表明動畫結(jié)束。通過參數(shù)Transformation 來獲取變換的矩陣(matrix),通過改變矩陣就可以實(shí)現(xiàn)各種復(fù)雜的效果。
下面舉例說明一個控件動畫:
Animation anim = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { if (interpolatedTime == 1) { v.setVisibility(View.GONE); } else { v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); v.requestLayout(); } } @Override public boolean willChangeBounds() { return true; } };
例子中,一個view的高度逐漸由原來的高度變?yōu)?。當(dāng)動畫結(jié)束之后,view消失。
希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。
- Android的Activity跳轉(zhuǎn)動畫各種效果整理
- Android編程實(shí)現(xiàn)ImageView圖片拋物線動畫效果的方法
- Android編程ProgressBar自定義樣式之動畫模式實(shí)現(xiàn)方法
- Android中顯示GIF動畫的實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)動畫效果詳解
- android實(shí)現(xiàn)字體閃爍動畫的方法
- Android精靈動畫用法實(shí)例
- Android中Activity跳轉(zhuǎn)的創(chuàng)建步驟總結(jié)
- android的activity跳轉(zhuǎn)到另一個activity
- Android軟件啟動動畫及動畫結(jié)束后跳轉(zhuǎn)的實(shí)現(xiàn)方法
相關(guān)文章
android實(shí)現(xiàn)添加耳機(jī)狀態(tài)圖標(biāo)的方法
這篇文章主要介紹了android實(shí)現(xiàn)添加耳機(jī)狀態(tài)圖標(biāo)的方法,較為詳細(xì)的分析了Android實(shí)現(xiàn)添加耳機(jī)圖標(biāo)的原理與相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10Android實(shí)現(xiàn)多線程下載圖片的方法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多線程下載圖片的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09Android 中RecycleView實(shí)現(xiàn)item的點(diǎn)擊事件
這篇文章主要介紹了Android 中RecycleView實(shí)現(xiàn)item的點(diǎn)擊事件的相關(guān)資料,需要的朋友可以參考下2017-03-03Android ExpandableListView雙層嵌套實(shí)現(xiàn)三級樹形菜單
這篇文章主要介紹了Android ExpandableListView雙層嵌套實(shí)現(xiàn)三級樹形菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-1113問13答全面學(xué)習(xí)Android View繪制
這篇文章主要為大家詳細(xì)介紹了Android View繪制,13問13答幫助大家全面學(xué)習(xí)Android View繪制,感興趣的小伙伴們可以參考一下2016-03-03android實(shí)現(xiàn)條目倒計(jì)時功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)條目倒計(jì)時功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09Android應(yīng)用中使用Fragment組件的一些問題及解決方案總結(jié)
這里我們講的Fragment主要探討的是support庫中的Fragment,包括Fragment常遇到的crash崩潰問題,嵌套Fragment收不到onActivityResult()回調(diào)以及一些常用tips等,需要的朋友可以參考下2016-05-05