Android開發(fā)重寫Animation實(shí)現(xiàn)下拉圖片后彈射回去效果示例
本文實(shí)例講述了Android開發(fā)重寫Animation實(shí)現(xiàn)下拉圖片后彈射回去效果。分享給大家供大家參考,具體如下:
1. 解析:
1)interpolatedTime指的是平移的變化率(從0到1)
2)mStartHeight 控件開始的高度
3)endHeight 控件豎直移動(dòng)后的高度
4)mImageView.requestLayout(); 圖片在改變高度后填充布局并固定
5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f) 得到變化后的高度
2. 代碼:
/** * @描述 使用平移動(dòng)畫實(shí)現(xiàn)下拉圖片后彈射回去 * @項(xiàng)目名稱 App_imooc * @包名 com.android.imooc.paralla * @類名 ResetAnimation * @author chenlin * @date 2015年5月29日 下午12:27:00 * @version 1.0 */ public class ResetAnimation extends Animation { private ImageView mImageView; private int mStartHeight; private int mEndHeight; public ResetAnimation(ImageView imageView, int startHeight, int endHeight) { this.mImageView = imageView; this.mStartHeight = startHeight; this.mEndHeight = endHeight; setDuration(500); } @Override protected void applyTransformation(float interpolatedTime, Transformation t) { int newHeight = (int) (ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHeight) + 0.5f); mImageView.getLayoutParams().height = newHeight; mImageView.requestLayout(); super.applyTransformation(interpolatedTime, t); } }
3. 使用方法:
//豎直移動(dòng)動(dòng)畫 ResetAnimation anim = new ResetAnimation(mImageView, startHeight, endHeight); anim.setInterpolator(new OvershootInterpolator()); startAnimation(anim);
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開發(fā)動(dòng)畫技巧匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
詳解Android中fragment和viewpager的那點(diǎn)事兒
本文主要對(duì)Android中fragment和viewpager進(jìn)行詳細(xì)介紹,具有一定的參考價(jià)值,需要的朋友一起來看下吧2016-12-12Android 實(shí)現(xiàn)背景圖和狀態(tài)欄融合方法
下面小編就為大家分享一篇Android 實(shí)現(xiàn)背景圖和狀態(tài)欄融合方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01Android Flutter實(shí)現(xiàn)自定義下拉刷新組件
在Flutter開發(fā)中官方提供了多平臺(tái)的下拉刷新組件供開發(fā)者使用。本文將改造一下這些組件,實(shí)現(xiàn)自定義的下拉刷新組件,感興趣的可以了解一下2022-08-08Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析
這篇文章主要介紹了Android編程入門之HelloWorld項(xiàng)目目錄結(jié)構(gòu)分析,較為詳細(xì)的分析了Android項(xiàng)目的目錄結(jié)構(gòu)與具體作用,需要的朋友可以參考下2015-12-12Android開發(fā)實(shí)現(xiàn)在Wifi下獲取本地IP地址的方法
這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)在Wifi下獲取本地IP地址的方法,涉及Android編程Wifi的調(diào)用及IP地址的獲取與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Android中Spinner控件之鍵值對(duì)用法實(shí)例分析
這篇文章主要介紹了Android中Spinner控件之鍵值對(duì)用法,實(shí)例分析了Spinner控件控件的鍵值對(duì)實(shí)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09Android Jetpack Compose實(shí)現(xiàn)列表吸頂效果
安卓傳統(tǒng)的Recyclerview打造懸浮頭部StickyHeader的吸頂效果,十分麻煩,而在Compose中就簡(jiǎn)單多了。因此,本文將采用Jetpack Compose實(shí)現(xiàn)列表吸頂效果,需要的可以參考一下2022-02-02