相關文章:
《Android自定義控件三部曲文章索引》
Interpolator屬性是Animation類的一個xml屬性,所以alpha、scale、rotate、translate、set都會繼承得到這個屬性。Interpolator被譯為插值器,其實我不大能從字面上理解為什么會這樣譯,其實他是一個指定動畫如何變化的東東,跟PS里的動作有點類似:隨便拿來一張圖片,應用一個動作,圖片就會指定變化。
Interpolator的系統值有下面幾個:
意義如下:
AccelerateDecelerateInterpolator 在動畫開始與介紹的地方速率改變比較慢,在中間的時候加速AccelerateInterpolator 在動畫開始的地方速率改變比較慢,然后開始加速AnticipateInterpolator 開始的時候向后然后向前甩AnticipateOvershootInterpolator 開始的時候向后然后向前甩一定值后返回最后的值BounceInterpolator 動畫結束的時候彈起CycleInterpolator 動畫循環播放特定的次數,速率改變沿著正弦曲線DecelerateInterpolator 在動畫開始的地方快然后慢LinearInterpolator 以常量速率改變OvershootInterpolator 向前甩一定值后再回到原來位置下面看看各個標簽在應用上面的每個插值器后會運動軌跡會怎樣。下面先看看Scale標簽應用插值器后,都會變成什么樣。
先看下XML代碼:(從控件中心點,從0放大到1.4倍,保持結束時的狀態)
[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動畫開始的地方速率改變比較慢,然后開始加速 在動畫開始的地方快然后慢
AnticipateInterpolator AnticipateOvershootInterpolator
開始的時候向后然后向前甩 開始的時候向后然后向前甩一定值后返回最后的值
BounceInterpolator CycleInterpolator
動畫結束的時候彈起 動畫循環播放特定的次數,速率改變沿著正弦曲線
LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來位置
下面先看看rotate標簽應用插值器后,都會變成什么樣。
先看下XML代碼:(從控件中心點,從0放大到1.4倍,保持結束時的狀態)
[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動畫開始的地方速率改變比較慢,然后開始加速 在動畫開始的地方快然后慢
AnticipateInterpolator AnticipateOvershootInterpolator
開始的時候向后然后向前甩 開始的時候向后然后向前甩一定值后返回最后的值
BounceInterpolator CycleInterpolator
動畫結束的時候彈起 動畫循環播放特定的次數,速率改變沿著正弦曲線
LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來位置
下面先看看alpha標簽應用插值器后,都會變成什么樣。
將透明度從0變成1.0,使用不同的插值器看看有什么不同(因為只是透明度的變化,所以基本看不出來有什么不同)[html] view plain copyAccelerateInterpolator DecelerateInterpolator
在動畫開始的地方速率改變比較慢,然后開始加速 在動畫開始的地方快然后慢
AnticipateInterpolator AnticipateOvershootInterpolator
開始的時候向后然后向前甩 開始的時候向后然后向前甩一定值后返回最后的值
BounceInterpolator CycleInterpolator
動畫結束的時候彈起 動畫循環播放特定的次數,速率改變沿著正弦曲線
LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來位置
下面先看看translate標簽應用插值器后,都會變成什么樣。
把控件從(0,0)平移到(-200,-200)的位置,保持結束時狀態不變,使用不同插值器。[html] view plain copyAccelerateDecelerateInterpolator%20 %20在動畫開始與介紹的地方速率改變比較慢,在中間的時候加速
AccelerateInterpolator DecelerateInterpolator
在動畫開始的地方速率改變比較慢,然后開始加速 在動畫開始的地方快然后慢
AnticipateInterpolator AnticipateOvershootInterpolator
開始的時候向后然后向前甩 開始的時候向后然后向前甩一定值后返回最后的值
BounceInterpolator CycleInterpolator
動畫結束的時候彈起 動畫循環播放特定的次數,速率改變沿著正弦曲線
LinearInterpolator OvershootInterpolator
以常量速率改變 向前甩一定值后再回到原來位置
這篇文章到這就結束了,因為動畫比較多,可能看的會有點暈,下面我會給出上面效果所對應的源碼,大家可以運行一下。
如果我的文章能幫到您,請加關注,謝謝。
源碼下載地址:http://download.csdn.net/detail/harvic880925/8038491
請大家尊重原創者版權,轉載請標明出處:http://blog.csdn.net/harvic880925/article/details/40049763 謝謝!
新聞熱點
疑難解答