文章腦圖

1、Android動(dòng)畫(huà)種類
逐幀動(dòng)畫(huà)、補(bǔ)間動(dòng)畫(huà)、屬性動(dòng)畫(huà)
逐幀動(dòng)畫(huà)
- 逐幀動(dòng)畫(huà)的原理就是讓一系列的靜態(tài)圖片依次播放,可以自定義每張圖片的持續(xù)時(shí)間。
補(bǔ)間動(dòng)畫(huà)
- 補(bǔ)間動(dòng)畫(huà)有四種:
透明度(alpha)、位移(translate)、縮放(scale)、旋轉(zhuǎn)(rotate) - 補(bǔ)間動(dòng)畫(huà)就是指開(kāi)發(fā)者指定動(dòng)畫(huà)的開(kāi)始、動(dòng)畫(huà)的結(jié)束的"關(guān)鍵幀",而動(dòng)畫(huà)變化的"中間幀"由系統(tǒng)計(jì)算,并補(bǔ)齊。
- Tween可以對(duì)View對(duì)象實(shí)現(xiàn)一系列動(dòng)畫(huà)效果,比如平移,縮放,旋轉(zhuǎn),透明度等。但是它并不會(huì)改變View屬性的值,只是改變了View的繪制的位置,比如,一個(gè)按鈕在動(dòng)畫(huà)過(guò)后,不在原來(lái)的位置,但是觸發(fā)點(diǎn)擊事件的仍然是原來(lái)的坐標(biāo)。
屬性動(dòng)畫(huà)
- 屬性動(dòng)畫(huà)可以看作是增強(qiáng)版的補(bǔ)間動(dòng)畫(huà),與補(bǔ)間動(dòng)畫(huà)的不同之處體現(xiàn)在:
補(bǔ)間動(dòng)畫(huà)只能定義兩個(gè)關(guān)鍵幀在透明、旋轉(zhuǎn)、位移和傾斜這四個(gè)屬性的變換,但是屬性動(dòng)畫(huà)可以定義任何屬性的變化。
補(bǔ)間動(dòng)畫(huà)只能對(duì) UI 組件執(zhí)行動(dòng)畫(huà),但屬性動(dòng)畫(huà)可以對(duì)任何對(duì)象執(zhí)行動(dòng)畫(huà)。 - 動(dòng)畫(huà)的對(duì)象除了傳統(tǒng)的View對(duì)象,還可以是Object對(duì)象,動(dòng)畫(huà)結(jié)束后,Object對(duì)象的屬性值被實(shí)實(shí)在在的改變了。
2、插值器 & 估值器
應(yīng)用場(chǎng)景
非線性運(yùn)動(dòng)。動(dòng)畫(huà)改變的速率不是一成不變的,如加速和減速運(yùn)動(dòng)都屬于非線性運(yùn)動(dòng)。插值器
1、根據(jù)時(shí)間流逝的百分比計(jì)算出當(dāng)前屬性值改變的百分比。
2、設(shè)置屬性值從初始值過(guò)渡到結(jié)束值的變化規(guī)律,如勻速、加速和減速等,即確定動(dòng)畫(huà)效果變化的模式,如勻速變化、加速變化等。
3、系統(tǒng)已有的插值器:
LinearInterpolator(線性插值器)勻速動(dòng)畫(huà)
AccelerateDecelerateInterpolator(加速減速插值器)動(dòng)畫(huà)兩頭慢,中間快
DecelerateInterpolator(減速插值器)動(dòng)畫(huà)越來(lái)越慢。估值器
1、根據(jù)當(dāng)前屬性改變的百分比來(lái)計(jì)算改變后的屬性值。
2、設(shè)置屬性值從初始值過(guò)渡到結(jié)束值的變化具體數(shù)值。
3、插值器決定值的變化規(guī)律,即決定變化趨勢(shì),如勻速、加速和減速等;而具體數(shù)值變化則交給估值器。
4、屬性動(dòng)畫(huà)特有的屬性
5、協(xié)助插值器實(shí)現(xiàn)非線性運(yùn)動(dòng)的動(dòng)畫(huà)效果。
6、系統(tǒng)已有的估值器:
IntEvaluator針對(duì)整型屬性
FloatEvaluator針對(duì)浮點(diǎn)型屬性
ArgbEvaluator針對(duì)Color屬性。
參考
Android 動(dòng)畫(huà):你真的會(huì)使用插值器與估值器嗎?(含詳細(xì)實(shí)例教學(xué))
3、動(dòng)畫(huà)詳解
逐幀動(dòng)畫(huà)
補(bǔ)間動(dòng)畫(huà)
屬性動(dòng)畫(huà)
1、屬性動(dòng)畫(huà)的使用小技巧
2、屬性動(dòng)畫(huà)總結(jié)和攻略
3、自定義屬性動(dòng)畫(huà)ObjectAnimator
4、屬性動(dòng)畫(huà)核心ValueAnimator