幀動畫與補間動畫的使用,

2022-09-14 23:45:22 字數 2234 閱讀 8889

一:幀動畫(fameanimation)

幀動畫的使用有兩種方式:

1:通過xml配置幀動畫

在drawable檔案下建立xml檔案

通過src可將該drawable資源檔案新增到上去:android:src="@drawable/ani",

獲取的drawable並將其轉換為animationdrawable通過start()啟動動畫

二:補間動畫(tweenanimation)

1:補間動畫只是在視覺上給了我們一種動畫的感覺,但是控制項本身的位置狀態是沒有被改變的,如把控制項c從a位置移動到b位置,

在視覺上控制項c已經被移動到了b位置上,但是如果需要點選控制項c那麼需要點選a的位置,即使控制項還在a位置。

2:補間動畫分為:

alphaanimation :透明度變化的動畫

translateanimation:位子移動的動畫

scaleanimation:大小伸縮的動畫

rotateanimation:旋轉的動畫

animationset:動畫的結合,將以上幾種動畫結合在一起

3:補間動畫常用的屬性:

fillafter:true或者false,是否保持動畫結束後的狀態

fillbefer:是否回到動畫開始的狀態,預設是設定為true

duration:動畫的時間

repeat():重置

repeatmode:在次動畫的模式(restart:從頭開始,revease:從尾開始,即從上一次動畫結束的位置開始)

repeatcount:動畫重複的次數,infinite:無數次

start():開始動畫

cancel():取消動畫

4:setanimationlistener:為動畫新增動畫

it.setanimationlistener(object :animation.animationlistener

override fun onanimationend(animation: animation?)

override fun onanimationstart(animation: animation?)

})5:補間動畫實現的方式;

(1):xml配置

在res檔案下建立乙個resource ddirectory檔案anim(動畫的都放在這個檔案裡面)

在建立的anim檔案下建立resource file檔案

將檔案開頭的set改為自己需要的模式,並配置xml檔案,這兒的透明度的變化便是從0到1

我需要改變透明度的變化便改為alpha了,若是需要拉伸則改為scale

獲取建立的xml檔案並設定其屬性,後再啟動動畫
移動:
這個操作都是一樣的,以下就不一一寫了

拉伸
<?xml version="1.0" encoding="utf-8"?>

pivotx(y)

就是設定的絕對值,此時下方的伸縮點就在螢幕上200,200的位置

,animation.relative_to_self相對自身而言,pivotx就是設定相對自身的在x位置上的200倍的位置

,animation.relative_to_parent相對父容器而言,pivotx在x上的位置在父容器的寬度的200倍的位置

xml配置檔案中預設為animation.absolute

android:pivotx="200"

android:pivoty="200"

/>

旋**

<?xml version="1.0" encoding="utf-8"?>

集合:

使用百分比就是相對自身而言的

<?xml version="1.0" encoding="utf-8"?>

(2):**實現

透明度

幀動畫,補間動畫,和屬性動畫

幀動畫 frameanimation 多張快速切換,形成動畫效果 幀動畫使用xml定義.建立乙個folder在res下,然後定義乙個xml檔案,根節點是animation list.將素材複製到drawable hdpi資料夾下作為資源id.android oneshot true drawable...

Android補間動畫 逐幀動畫

逐幀動畫 補間動畫補間動畫補間動畫 分為四種 1.透明度變化 2.旋轉 3.平移 4.放大縮小透明度變化 步驟 1.new alphaanimation fromalpha,toalpha 1.fromalpha 透明度的初始值 0.0f 1.0f之間 2.toalpha 結束時的透明度的值 0.0...

android 動畫1 動畫補間動畫和幀動畫

透明方式 方式 animation alphaanimation new alphaanimation 0.0f,1.0f 載入 動畫資源檔案 animation animation animationutils.loadanimation this,r.anim.alpha anim imagev...