1. 程式人生 > >Android動畫-Interpolator(插值器)大全

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 
版權宣告:本文為博主原創文章,轉載請附上博文連結!