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