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

首頁 > 系統 > Android > 正文

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

2019-10-22 18:09:53
字體:
來源:轉載
供稿:網友

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

進入正題,先看看效果

Android,動畫,控件,旋轉動畫

效果很炫酷很美好

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

//自定義一個類繼承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();}

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

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


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台北县| 宿迁市| 本溪| 湖南省| 新巴尔虎左旗| 济源市| 象州县| 若尔盖县| 定襄县| 黔东| 阿拉善右旗| 左贡县| 五华县| 乐山市| 荆门市| 淮北市| 通河县| 长兴县| 文化| 巫溪县| 塔河县| 江华| 新兴县| 香格里拉县| 依兰县| 西丰县| 潍坊市| 沅陵县| 分宜县| 雷波县| 剑河县| 沙洋县| 赤水市| 那坡县| 墨江| 宁强县| 南乐县| 东乌珠穆沁旗| 琼中| 房山区| 西藏|