Android動(dòng)畫(huà)

文章腦圖

文章內(nèi)容

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à)

1、逐幀動(dòng)畫(huà)詳解

補(bǔ)間動(dòng)畫(huà)

1、補(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

插值器 & 估值器

1、深入了解神秘的插值器(Interpolator)
2、深入了解神秘的估值器(TypeEvaluator)

?著作權(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)容

  • 【Android 動(dòng)畫(huà)】 動(dòng)畫(huà)分類補(bǔ)間動(dòng)畫(huà)(Tween動(dòng)畫(huà))幀動(dòng)畫(huà)(Frame 動(dòng)畫(huà))屬性動(dòng)畫(huà)(Property ...
    Rtia閱讀 6,380評(píng)論 1 38
  • 在APP開(kāi)發(fā)的過(guò)程中,在合適的時(shí)機(jī)引入合適的動(dòng)畫(huà)。會(huì)讓我們的APP動(dòng)起來(lái),更加的吸引眼球。這里我們就來(lái)總結(jié)下...
    tuacy閱讀 562評(píng)論 0 0
  • Android應(yīng)用中經(jīng)常需要使用到各式各樣的動(dòng)畫(huà)效果,產(chǎn)品設(shè)計(jì)總是已他們重破天機(jī)的想象給出看著就很難實(shí)現(xiàn)的動(dòng)畫(huà),不...
    熊sir要早睡早起閱讀 1,011評(píng)論 0 0
  • 概述 在Android開(kāi)發(fā)的過(guò)程中,View的變化是很常見(jiàn)的,如果View變化的過(guò)程沒(méi)有動(dòng)畫(huà)來(lái)過(guò)渡而是瞬間完成,會(huì)...
    zerohdq閱讀 644評(píng)論 0 0
  • 你,又飄向了遠(yuǎn)方, 渴望愛(ài)的磁場(chǎng)指引你心的方向, 愛(ài)不會(huì)離場(chǎng), 只是這都市的繁華缺乏愛(ài)的微光 當(dāng),那擁擠的街衢, ...
    孤獨(dú)的大師閱讀 235評(píng)論 2 2

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