相關(guān)文章:
《Android自定義控件三部曲文章索引》
Interpolator屬性是Animation類的一個(gè)xml屬性,所以alpha、scale、rotate、translate、set都會(huì)繼承得到這個(gè)屬性。Interpolator被譯為插值器,其實(shí)我不大能從字面上理解為什么會(huì)這樣譯,其實(shí)他是一個(gè)指定動(dòng)畫(huà)如何變化的東東,跟PS里的動(dòng)作有點(diǎn)類似:隨便拿來(lái)一張圖片,應(yīng)用一個(gè)動(dòng)作,圖片就會(huì)指定變化。
Interpolator的系統(tǒng)值有下面幾個(gè):

意義如下:
AccelerateDecelerateInterpolator 在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速AccelerateInterpolator 在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速AnticipateInterpolator 開(kāi)始的時(shí)候向后然后向前甩AnticipateOvershootInterpolator 開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值BounceInterpolator 動(dòng)畫(huà)結(jié)束的時(shí)候彈起CycleInterpolator 動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線DecelerateInterpolator 在動(dòng)畫(huà)開(kāi)始的地方快然后慢LinearInterpolator 以常量速率改變OvershootInterpolator 向前甩一定值后再回到原來(lái)位置下面看看各個(gè)標(biāo)簽在應(yīng)用上面的每個(gè)插值器后會(huì)運(yùn)動(dòng)軌跡會(huì)怎樣。下面先看看Scale標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。
先看下XML代碼:(從控件中心點(diǎn),從0放大到1.4倍,保持結(jié)束時(shí)的狀態(tài))
[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速 在動(dòng)畫(huà)開(kāi)始的地方快然后慢

AnticipateInterpolator AnticipateOvershootInterpolator
開(kāi)始的時(shí)候向后然后向前甩 開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

BounceInterpolator CycleInterpolator
動(dòng)畫(huà)結(jié)束的時(shí)候彈起 動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來(lái)位置

下面先看看rotate標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。
先看下XML代碼:(從控件中心點(diǎn),從0放大到1.4倍,保持結(jié)束時(shí)的狀態(tài))
[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速 在動(dòng)畫(huà)開(kāi)始的地方快然后慢

AnticipateInterpolator AnticipateOvershootInterpolator
開(kāi)始的時(shí)候向后然后向前甩 開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

BounceInterpolator CycleInterpolator
動(dòng)畫(huà)結(jié)束的時(shí)候彈起 動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來(lái)位置

下面先看看alpha標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。
將透明度從0變成1.0,使用不同的插值器看看有什么不同(因?yàn)橹皇峭该鞫鹊淖兓曰究床怀鰜?lái)有什么不同)[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速 在動(dòng)畫(huà)開(kāi)始的地方快然后慢

AnticipateInterpolator AnticipateOvershootInterpolator
開(kāi)始的時(shí)候向后然后向前甩 開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

BounceInterpolator CycleInterpolator
動(dòng)畫(huà)結(jié)束的時(shí)候彈起 動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來(lái)位置

下面先看看translate標(biāo)簽應(yīng)用插值器后,都會(huì)變成什么樣。
把控件從(0,0)平移到(-200,-200)的位置,保持結(jié)束時(shí)狀態(tài)不變,使用不同插值器。[html] view plain copyAccelerateDecelerateInterpolator%20 %20在動(dòng)畫(huà)開(kāi)始與介紹的地方速率改變比較慢,在中間的時(shí)候加速
AccelerateInterpolator DecelerateInterpolator
在動(dòng)畫(huà)開(kāi)始的地方速率改變比較慢,然后開(kāi)始加速 在動(dòng)畫(huà)開(kāi)始的地方快然后慢

AnticipateInterpolator AnticipateOvershootInterpolator
開(kāi)始的時(shí)候向后然后向前甩 開(kāi)始的時(shí)候向后然后向前甩一定值后返回最后的值

BounceInterpolator CycleInterpolator
動(dòng)畫(huà)結(jié)束的時(shí)候彈起 動(dòng)畫(huà)循環(huán)播放特定的次數(shù),速率改變沿著正弦曲線

LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來(lái)位置

這篇文章到這就結(jié)束了,因?yàn)閯?dòng)畫(huà)比較多,可能看的會(huì)有點(diǎn)暈,下面我會(huì)給出上面效果所對(duì)應(yīng)的源碼,大家可以運(yùn)行一下。
如果我的文章能幫到您,請(qǐng)加關(guān)注,謝謝。
源碼下載地址:http://download.csdn.net/detail/harvic880925/8038491
請(qǐng)大家尊重原創(chuàng)者版權(quán),轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/harvic880925/article/details/40049763 謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注