Android — 自定義動(dòng)畫根據(jù)控件Y軸旋轉(zhuǎn)動(dòng)畫 仿紅包

這里給大家分享一個(gè)動(dòng)畫吧,用處挺多,代碼也不多,在一些程序中比較實(shí)用。

進(jìn)入正題,先看看效果

效果很炫酷很美好

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

//自定義一個(gè)類繼承Animation(android.view.animation.Animation)抽象類

public class MyAnimation extends Animation {

????// 先定義成員變量 //X軸的中心坐標(biāo) int center_X;

????//Y軸的中心坐標(biāo) int center_Y;

????// 初始化Camera Camera camera = new Camera();

}

接下來要注意了?

重寫initialize()方法

/** * 在initialize對(duì)變量進(jìn)行初始化

* @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 中心點(diǎn)坐標(biāo) center_X = width/ 2; center_Y = height / 2;

????//動(dòng)畫的執(zhí)行時(shí)間,3000毫秒

????setDuration(3000L);

????setInterpolator(new AccelerateInterpolator());

}

寫完這些以后就到了最關(guān)鍵的核心代碼了

/** * 在applyTransformation通過矩陣修改動(dòng)畫

* 這里是自定義動(dòng)畫的核心,動(dòng)畫執(zhí)行的過程中一直在回調(diào)這個(gè)方法

* 每次回調(diào)這個(gè)方法interpolatedTime都會(huì)改變

* @param interpolatedTime

* @param t

*/

@Override

protected void applyTransformation(float interpolatedTime, Transformation t) {

????final Matrix matrix = t.getMatrix();

????//儲(chǔ)蓄 camera.save();

????//中心是繞Y軸旋轉(zhuǎn),這里可以自行設(shè)置其他軸

????camera.rotateY(1080 * interpolatedTime);

????//加在變換矩陣上 camera.getMatrix(matrix);

????//設(shè)置翻轉(zhuǎn)中心點(diǎn) matrix.preTranslate(-center_X, -center_Y);

????matrix.postTranslate(center_X, center_Y); //恢復(fù) camera.restore();

}

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

要是感覺寫的不錯(cuò)就多支持支持吧? 第一次發(fā)表? 很緊張嘿嘿

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 去歲十月以來,覺得胸疼的厲害。雖然可能是正常的生理反應(yīng),但是反應(yīng)未免也太大了些。年底在家里衛(wèi)生院做了彩超,結(jié)論是增...
    lichangan閱讀 458評(píng)論 0 0
  • 2018.1.21 今天周末,睡到自然醒的感覺真好!
    謙謙闋歌閱讀 144評(píng)論 0 0
  • 截止到目前為止,寫文章的字?jǐn)?shù)差不多有20萬字了??墒腔剡^頭來想,現(xiàn)在的寫作水平并沒有提高。衡量的標(biāo)準(zhǔn)就是,沒有多少...
    黑臉阿康閱讀 999評(píng)論 4 3
  • “大叔,桔子甜不甜?” “包甜,你可以試吃一下。” 她掰一片放進(jìn)口里,“拿個(gè)袋子給我。” 她看見臺(tái)秤上顯示的數(shù)字是...
    頤兮閱讀 375評(píng)論 0 0

友情鏈接更多精彩內(nèi)容