国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android自定義動畫根據控件Y軸旋轉動畫(仿紅包)

2019-12-12 00:48:12
字體:
來源:轉載
供稿:網友

這里給正在學安卓的小白們分享一個動畫吧,用處挺多,代碼也不多,還望各位大佬不要打擊。

進入正題,先看看效果

效果很炫酷很美好

好了 來看代碼吧    該說的都在代碼注釋里面  這個不用多說 代碼極其簡單

//自定義一個類繼承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*/@Overridepublic 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;  //動畫的執行時間,3000毫秒  setDuration(3000L);  setInterpolator(new AccelerateInterpolator());}

寫完這些以后就到了最關鍵的核心代碼了

/** * 在applyTransformation通過矩陣修改動畫* 這里是自定義動畫的核心,動畫執行的過程中一直在回調這個方法* 每次回調這個方法interpolatedTime都會改變* @param interpolatedTime* @param t*/@Overrideprotected void applyTransformation(float interpolatedTime, Transformation t) {  final Matrix matrix = t.getMatrix();  //儲蓄 camera.save();  //中心是繞Y軸旋轉,這里可以自行設置其他軸  camera.rotateY(1080 * interpolatedTime);  //加在變換矩陣上 camera.getMatrix(matrix);  //設置翻轉中心點 matrix.preTranslate(-center_X, -center_Y);  matrix.postTranslate(center_X, center_Y); //恢復 camera.restore();}

怎么樣  看完以后是不是了解了很多

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝山区| 周至县| 武宁县| 桐城市| 新密市| 新营市| 墨玉县| 肥西县| 桦南县| 贵阳市| 万全县| 桐乡市| 德州市| 肥东县| 临汾市| 板桥市| 泸水县| 沈阳市| 建昌县| 萍乡市| 宁安市| 兰州市| 靖江市| 丹棱县| 惠水县| 报价| 松原市| 舟山市| 普陀区| 崇明县| 苗栗市| 桑日县| 宁陵县| 尉氏县| 三都| 东乌珠穆沁旗| 金湖县| 巴楚县| 团风县| 太康县| 威海市|