Android動畫-Interpolator(插值器)大全
花了點時間,把所有動畫的插值器都用了一遍,寫了個Demo分享下,看效果之前先看下Android動畫中插值器的型別:
AccelerateDecelerateInterpolator
@android:anim/accelerate_decelerate_interpolator
在動畫開始與介紹的地方速率改變比較慢,在中間的時候加速
AccelerateInterpolator
@android:anim/accelerate_interpolator
在動畫開始的地方速率改變比較慢,然後開始加速
AnticipateInterpolator
@android:anim/anticipate_interpolator
開始的時候向後然後向前甩
AnticipateOvershootInterpolator
@android:anim/anticipate_overshoot_interpolator
開始的時候向後然後向前甩一定值後返回最後的值
BounceInterpolator
@android:anim/bounce_interpolator
動畫結束的時候彈起
CycleInterpolator
@android:anim/cycle_interpolator
動畫迴圈播放特定的次數,速率改變沿著正弦曲線
DecelerateInterpolator
@android:anim/decelerate_interpolator
在動畫開始的地方快然後慢
LinearInterpolator
@android:anim/linear_interpolator
以常量速率改變
OvershootInterpolator
@android:anim/overshoot_interpolator
向前甩一定值後再回到原來位置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
設定插值器的程式碼很簡單 alphaAnimation.setInterpolator(baseInterpolator);
XML中的用法
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
接下來就仔細的看看效果吧:
AccelerateDecelerateInterpolator
在動畫開始與介紹的地方速率改變比較慢,在中間的時候加速
AccelerateInterpolator
在動畫開始的地方速率改變比較慢,然後開始加速
AnticipateInterpolator
開始的時候向後然後向前甩
AnticipateOvershootInterpolator
開始的時候向後然後向前甩一定值後返回最後的值
BounceInterpolator
動畫結束的時候彈起
CycleInterpolator
動畫迴圈播放特定的次數,速率改變沿著正弦曲線
DecelerateInterpolator
在動畫開始的地方快然後慢
LinearInterpolator
以常量速率改變
OvershootInterpolator
向前甩一定值後再回到原來位置
最後 CycleInterpolator 這個插值器需要注意下,它的建構函式需要傳入一個float值,這個值就是動畫重複的次數,並且如過對這個差值器 設定 android:fillAfter=”true” 那麼動畫結束後,你看到的回事動畫開始的第一幕(第一幀),如果不設定或者設定成 android:fillBefore=”true”,那麼看到的回事控制元件本身的XML的狀態
就這些了,原始碼下載:
http://download.csdn.net/detail/cjh_android/9532238
---------------------
作者:jia-huan
來源:CSDN
原文:https://blog.csdn.net/cjh_android/article/details/51508634
版權宣告:本文為博主原創文章,轉載請附上博文連結!