Android自定義動畫根據(jù)控件Y軸旋轉(zhuǎn)動畫(仿紅包)
更新時間:2018年06月12日 11:13:45 作者:富江___
這篇文章主要介紹了Android自定義動畫根據(jù)控件Y軸旋轉(zhuǎn)動畫(仿紅包),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這里給正在學安卓的小白們分享一個動畫吧,用處挺多,代碼也不多,還望各位大佬不要打擊。
進入正題,先看看效果
效果很炫酷很美好
好了 來看代碼吧 該說的都在代碼注釋里面 這個不用多說 代碼極其簡單
//自定義一個類繼承Animation(android.view.animation.Animation)抽象類 public class MyAnimation extends Animation { // 先定義成員變量 //X軸的中心坐標 int center_X; //Y軸的中心坐標 int center_Y; // 初始化Camera Camera camera = new Camera(); }
接下來要注意了
重寫initialize()方法
/** * 在initialize對變量進行初始化 * @param width * @param height * @param parentWidth * @param parentHeight */ @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); //獲取X Y 中心點坐標 center_X = width/ 2; center_Y = height / 2; //動畫的執(zhí)行時間,3000毫秒 setDuration(3000L); setInterpolator(new AccelerateInterpolator()); }
寫完這些以后就到了最關(guān)鍵的核心代碼了
/** * 在applyTransformation通過矩陣修改動畫 * 這里是自定義動畫的核心,動畫執(zhí)行的過程中一直在回調(diào)這個方法 * 每次回調(diào)這個方法interpolatedTime都會改變 * @param interpolatedTime * @param t */ @Override protected void applyTransformation(float interpolatedTime, Transformation t) { final Matrix matrix = t.getMatrix(); //儲蓄 camera.save(); //中心是繞Y軸旋轉(zhuǎn),這里可以自行設(shè)置其他軸 camera.rotateY(1080 * interpolatedTime); //加在變換矩陣上 camera.getMatrix(matrix); //設(shè)置翻轉(zhuǎn)中心點 matrix.preTranslate(-center_X, -center_Y); matrix.postTranslate(center_X, center_Y); //恢復 camera.restore(); }
怎么樣 看完以后是不是了解了很多
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Android使用Rotate3dAnimation實現(xiàn)3D旋轉(zhuǎn)動畫效果的實例代碼
- Android編程實現(xiàn)RotateAnimation設(shè)置中心點旋轉(zhuǎn)動畫效果
- Android動畫之漸變動畫(Tween Animation)詳解 (漸變、縮放、位移、旋轉(zhuǎn))
- Android Tween動畫之RotateAnimation實現(xiàn)圖片不停旋轉(zhuǎn)效果實例介紹
- Android開發(fā)之圖形圖像與動畫(二)Animation實現(xiàn)圖像的漸變/縮放/位移/旋轉(zhuǎn)
- Android實現(xiàn)旋轉(zhuǎn)動畫的兩種方式案例詳解
相關(guān)文章
關(guān)于Android WebView的loadData方法的注意事項分析
本篇文章是對Android中WebView的loadData方法的注意事項進行了詳細的分析介紹,需要的朋友參考下2013-06-06Android開發(fā)之ListView列表刷新和加載更多實現(xiàn)方法
這篇文章主要介紹了Android開發(fā)之ListView列表刷新和加載更多實現(xiàn)方法,實例分析了ListView列表操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06Android 仿微信發(fā)動態(tài)九宮格拖拽、刪除功能
這篇文章主要介紹了Android 仿微信發(fā)動態(tài)九宮格拖拽、刪除功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11Android Studio 導入開源項目的正確姿勢及注意事項
這篇文章主要介紹了Android Studio 導入開源項目的正確姿勢及注意事項,需要的朋友參考下吧2018-03-03