逐幀動(dòng)畫(huà)
- AnimationDrawable與逐幀動(dòng)畫(huà)。在元素中定義子元素,表示動(dòng)畫(huà)的全部幀,并制定持續(xù)時(shí)間即可。
<animation-list xmlns:android="“android:onshot=true/false> <item
android:drawable=”@package_name:drawable/resource_name"android:duration=“integer”/>
</animation-list>
補(bǔ)間動(dòng)畫(huà)
-
android使用Animation代表抽象的動(dòng)畫(huà)類(lèi)
-
AlphaAnimation:透明度改變的動(dòng)畫(huà),指定開(kāi)始透明度、結(jié)束透明度、動(dòng)畫(huà)持續(xù)時(shí)間
-
ScaleAnimation:大小縮放的動(dòng)畫(huà),指定縮放中心、開(kāi)始縮放比、結(jié)束縮放比、動(dòng)畫(huà)持續(xù)時(shí)間
-
TranslateAnimation:位移變化的動(dòng)畫(huà),指定開(kāi)始位置、結(jié)束位置、動(dòng)畫(huà)持續(xù)時(shí)間
-
RotateAnimation:旋轉(zhuǎn)動(dòng)畫(huà),旋轉(zhuǎn)軸心、開(kāi)始旋轉(zhuǎn)角度、結(jié)束旋轉(zhuǎn)角度
-
通過(guò)interpolator指定動(dòng)畫(huà)運(yùn)行期間,動(dòng)態(tài)補(bǔ)入多少幀,在哪些時(shí)刻補(bǔ)入。能夠指定動(dòng)畫(huà)的變化速度。
-
-
interpolator的實(shí)現(xiàn)類(lèi)
-
LinearInterpolator:均勻速度改變
-
AccelerateInterpolator:加速
-
AccelerateDecelerateinterpolator:中間加速
-
CycleInterpolator:循環(huán)播放n次,變化速度正玄曲線(xiàn)
-
DecelerateInterpolator:減速
-
-
自定義補(bǔ)間動(dòng)畫(huà)
-
繼承Animation,重寫(xiě)抽象基類(lèi)的interpolatedTime時(shí)間進(jìn)行比方法和Transformation補(bǔ)間動(dòng)畫(huà)變形程度。
-
Transformation代表了對(duì)圖片或者視圖的變形程度,封裝了一個(gè)Matrix對(duì)象用來(lái)對(duì)圖形進(jìn)行位移、傾斜、旋轉(zhuǎn)等變換。封裝了一個(gè)Camera對(duì)象,進(jìn)行三維空間變換。getMatrix():將Camera所有變換應(yīng)用到matrix上
-
getMatrix():Camera對(duì)應(yīng)變換應(yīng)用到matrix上
-
rotateX():X軸旋轉(zhuǎn)
-
rotateY():Y軸旋轉(zhuǎn)
-
rotateZ():Z軸旋轉(zhuǎn)
-
translate():目標(biāo)組件在三維空間內(nèi)變換
-
applyToCanvas():應(yīng)用到場(chǎng)景當(dāng)中
-
屬性動(dòng)畫(huà)
-
屬性變化可以定義任意性質(zhì)的變化??梢葬槍?duì)任何對(duì)象執(zhí)行的動(dòng)畫(huà),需要制定動(dòng)畫(huà)持續(xù)時(shí)間、動(dòng)畫(huà)的插值方式、動(dòng)畫(huà)的重復(fù)次數(shù)、重復(fù)行為、動(dòng)畫(huà)集、幀刷新率
-
屬性動(dòng)畫(huà)的API
-
Animator:提供了創(chuàng)建屬性動(dòng)畫(huà)的基類(lèi)。
-
ValueAnimator:屬性動(dòng)畫(huà)主要的時(shí)間引擎,負(fù)責(zé)計(jì)算各個(gè)幀的屬性值,定義了屬性動(dòng)畫(huà)的絕大部分核心功能。
-
ObjectAnimator:對(duì)指定對(duì)象的屬性執(zhí)行動(dòng)畫(huà),是ValueAnimator的子類(lèi)
-
AnimatorSet:組合多個(gè)Animator,并制定多個(gè)Animator的播放次序。
-
IntEvaluator:計(jì)算int屬性值的計(jì)算器。
-
FloatEvaluator:計(jì)算float類(lèi)型的計(jì)算器
-
ArgbEvaluator:計(jì)算十六進(jìn)制顏色值的計(jì)算器
-
TypeEvaluator:計(jì)算器接口。自定義計(jì)算器。
-
-
ValueAnimator創(chuàng)建屬性動(dòng)畫(huà)的步驟:
-
調(diào)用ofInt() ofFloat() ofObject()靜態(tài)方法創(chuàng)建ValueAnimator實(shí)例
-
調(diào)用setXxx() 方法設(shè)置動(dòng)畫(huà)持續(xù)時(shí)間,差值方式、重復(fù)次數(shù)
-
調(diào)用start()方法啟動(dòng)動(dòng)畫(huà)
-
為ValueAnimator注冊(cè)AnimatorUpdateListener監(jiān)聽(tīng)器,監(jiān)聽(tīng)ValueAnimator計(jì)算出來(lái)的值,并將這些值應(yīng)用到制定對(duì)象上。通過(guò)getAnimatorValue()方法來(lái)計(jì)算值,并應(yīng)用到任何對(duì)象上。
-
-
ObjectAnimator創(chuàng)建屬性動(dòng)畫(huà)的步驟
-
繼承了ValueAnimator,已經(jīng)綁定了指定的對(duì)象,直接將ValueAnimator計(jì)算的值應(yīng)用到制定對(duì)象的指定屬性上。
-
必須為綁定的制定對(duì)象提供特定的setter方法才行。如果沒(méi)有開(kāi)始值,必須提供getter方法提供開(kāi)始值。
-
如果對(duì)象是View需要調(diào)用onAnimationUpdate()中調(diào)用View.invalidate()方法來(lái)刷新屏幕顯示。
-
使用SurfaceView實(shí)現(xiàn)動(dòng)畫(huà)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-529449.html
-
SurfaceView與SurfaceHolder相互關(guān)聯(lián)使用,后者提供了方法:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-529449.html
- lockCanvas()鎖定surfaceView對(duì)象,或者對(duì)指定區(qū)域更新。
到了這里,關(guān)于【Android學(xué)習(xí)筆記】圖形與圖像處理(動(dòng)態(tài)處理)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!