Android動(dòng)畫(huà)詳解(二)插值器

在上一篇Android動(dòng)畫(huà)詳解(一)補(bǔ)間動(dòng)畫(huà)中我們提到過(guò)一個(gè)叫插值器的東西,看名字一頭霧水完全不知道是什么神奇玩意。其實(shí)用人話翻譯過(guò)來(lái)就是速度模型或者速度曲線的意思。為動(dòng)畫(huà)設(shè)置插值器就是設(shè)定動(dòng)畫(huà)的速度模型,就是設(shè)置它是怎么動(dòng)的,先加速再加速呀、一直減速呀、勻速的運(yùn)動(dòng)啊。插值器不只是補(bǔ)間動(dòng)畫(huà)需要設(shè)置啊,后面要講的屬性動(dòng)畫(huà)一樣有插值器。具體效果一看動(dòng)圖便知。

1、AccelerateDecelerateInterpolator

先加速運(yùn)動(dòng)再減速知道終點(diǎn)處,這也是默認(rèn)的Interpolator,如果不setInterpolator(interpolator),動(dòng)畫(huà)以該方式運(yùn)動(dòng)。

accelaratedecelarate.gif

2、AccelerateInterpolator

一直加速前進(jìn),在終點(diǎn)處驟停。

accelerate.gif

3、AnticipateInterpolator

先往回拉一小段距離,在先前運(yùn)動(dòng)。

anticipate.gif

4、AnticipaOvershootInterpolator

先往回拉一小段距離,在先前運(yùn)動(dòng),最后超出終點(diǎn)一小段距離再回到終點(diǎn)。

anticipateovershoot.gif

5、BounceInterpolator

向前運(yùn)動(dòng),在終點(diǎn)處回彈幾下。

bounce.gif

6、CycleInterpolator

CycleInterpolator(float cycles),參數(shù)表示來(lái)回運(yùn)動(dòng)次數(shù)。在起點(diǎn)和終點(diǎn)之間來(lái)回運(yùn)動(dòng),重復(fù)幾次由它的cycles參數(shù)決定。

cycles.gif

7、DecelerateInterpolator

初速度最大,然后一直加速運(yùn)動(dòng)到終點(diǎn)。

decelerate.gif

8、LinearInterpolator

勻速運(yùn)動(dòng)。

linear.gif

9、OvershootInterpator

它跟AnticipaOvershootInterpolator的區(qū)別是,剛開(kāi)始的時(shí)候不需要往后拉一小段距離;相同之處是運(yùn)動(dòng)地超過(guò)終點(diǎn)一部分然后回到終點(diǎn)。

overshoot.gif
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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