為了更好的用戶體驗(yàn),需要學(xué)習(xí)更好的交互方式。
平時(shí)動(dòng)畫用得挺少的,書都用時(shí)方恨少啊,所以還是復(fù)習(xí)鞏固一下吧。
動(dòng)畫分類
android的動(dòng)畫分為幀動(dòng)畫,補(bǔ)間動(dòng)畫,屬性動(dòng)畫。
幀動(dòng)畫(Frame Animation)
主要就是利用一堆圖片逐幀播放。
補(bǔ)間動(dòng)畫(Tween Animation)

常用的有 AlphaAnimation,RotateAnimation,ScaleAnimation,TranslateAnimation 這4個(gè)動(dòng)畫 其中AnimationSet的作用可以組合這幾種動(dòng)畫,是有順序的播放,還是可以同時(shí)播放這都可以由AnimationSet來管理設(shè)置。
屬性動(dòng)畫(Property Animation)?

默認(rèn)情況下,插值器使用的是AccelerateDecelerateInterpolator,是一個(gè)加速進(jìn)入.減速退出的一個(gè)動(dòng)畫過程,當(dāng)然也可以自己通過使用setInterpolator(TimeInterpolator)?設(shè)置自己的插值器。 主要作用是通過設(shè)置獲取設(shè)置的屬性值,然后處理對(duì)應(yīng)的動(dòng)畫。
官網(wǎng)例子,下面解釋標(biāo)錯(cuò)了,之前沒注意 看錯(cuò)了,不是TextView的值從0-100顯示,應(yīng)該是移動(dòng)x的距離,移動(dòng)范圍是x軸從0-100

繼承自ValueAnimator ?
?這是一個(gè)接口,可以實(shí)現(xiàn)自己的TypeEvaluator,在可以通過下圖中標(biāo)記的參數(shù),返回任意你想返回的數(shù)據(jù),比如ValueAnimation的OfFloat方法就是傳入float參數(shù),然后getAnimationValue的時(shí)候獲得的就是float類型的一個(gè)對(duì)象,可以通過實(shí)現(xiàn)自己的TypeEvaluator然后返回自己想要的對(duì)象。


關(guān)于如何使用 詳見?Using a TypeEvaluator ?(我也還沒用過,不過后面回去學(xué)習(xí),然后記錄下來 ?^_^)
總結(jié)
總結(jié)出來 動(dòng)畫分類可分為 幀動(dòng)畫,屬性動(dòng)畫,補(bǔ)間動(dòng)畫
幀動(dòng)畫,圖片一張一張播放
補(bǔ)間動(dòng)畫,常用的有四種,可以用AnimationSet組合幾種不同的動(dòng)畫
屬性動(dòng)畫,更高級(jí)的一種,利用View對(duì)象的屬性來進(jìn)行變化。
注意:
補(bǔ)間動(dòng)畫移動(dòng)以后,原來的點(diǎn)擊事件仍然在原來的地方,屬性動(dòng)畫如果移動(dòng)以后,點(diǎn)擊事件在動(dòng)畫結(jié)束顯示的地方這點(diǎn)是有區(qū)別的