幀動畫的簡單使用

2021-07-27 21:57:39 字數 3489 閱讀 1731

android使用animation代表抽象的動畫類,它包括:

alphaanimation(漸變透明動畫):透明度(alpha)漸變效果,對應標籤。

scaleanimation(縮放動畫):縮放漸變,可以指定縮放的參考點,對應標籤。

translateanimation(位移動畫):位移漸變,需要指定移動點的開始和結束座標,對應標籤。

rotateanimation(旋轉動畫):旋轉漸變,可以指定旋轉的參考點,對應標籤。

animationset(動畫合集):組合漸變,支援組合多種漸變效果,對應標籤。

xml實現補間動畫(tweenanimation)分3步

1、首先用xml定義乙個動畫效果,

xml位置:res/anim/***.xml 

2、依據這個xml使用animationutils工具類建立乙個animation物件 

3、呼叫view元件的startanimation方法實現動畫

1.在res/anim/定義資源檔案根元素為alpha的xml檔案

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

1.在res/anim/定義資源檔案根元素為scale的xml檔案

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

android:fromxscale="0.0「   -動畫起始時 x座標上的伸縮尺寸

android:fromyscale="0.0「  -動畫起始時 y座標上的伸縮尺寸

android:toxscale="1.0「   -動畫結束時x座標上的伸縮尺寸

android:toyscale="1.0「  -動畫結束時y座標上的伸縮尺寸?

android:pivotx="50%「 -動畫相對於物件的x座標的開始位置

android:pivoty="50%「 -動畫相對於物件的y座標的開始位置

android:repeatcount="3"

android:duration="5000"

說明:??????    0.0表示收縮到沒有?

??????????????????? 1.0表示正常無伸縮?????

??????????????????? 值小於1.0表示收縮??

??????????????????? 值大於1.0表示放大

?????? 以上兩個屬性值 從0%-100%中取值

????????50%為物件的x或y方向座標上的中點位置件的y座標的開始位置

1.在res/anim/定義資源檔案根元素為translate的xml檔案

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

android:interpolator=「@android:anim/accelerate_interpolator「 --指定乙個動畫的插入器 加速-減速

android:fromxdelta="0「 --動畫起始時 x座標上的位置

android:fromydelta="0「 --動畫起始時 y座標上的位置

android:toxdelta="400「 --動畫結束時 x座標上的位置

android:toydelta="0「   --動畫結束時 y座標上的位置

android:duration="5000"

說明:??????不指定以上4個x、y座標引數,預設以設定動畫物件本身為參照物

1.在res/anim/定義資源檔案的根元素為set的xml檔案,將要展示的動畫按對應標籤進行選擇

2.animationset set=new animationset(false);

set.addanimation(animation  animation);//開啟動畫合集

通用屬性:

setduration(long durationmillis)://設定動畫持續事件(單位:毫秒)

setfillafter(boolean fillafter)://如果fillafter設為true,則動畫執行後,控制項將停留在動畫結束的狀態

setfillbefore(boolean fillbefore)://如果fillbefore設為true,則動畫執行後,控制項將回到動畫開始的狀態

setstartoffset(long startoffset)://設定動畫執行之前等待的時間(單位:毫秒)

setrepeatcount(int repeatcount)://設定動畫重複的次數

setrepeatmode(int repeatmode): //設定動畫重複的模式

startanimation(animation animation)://開啟動畫

//得到漸變透明動畫物件

alphaanimation animation = new alphaanimation(float fromalpha, float toalpha)

fromalpha:開始時的透明度

toalpha:結束時的透明度

//獲得translateanimation物件

translateanimation translateanimation =new translateanimation(float fromxdelta, float toxdelta, float fromydelta, float toydelta)

fromxdelta:動畫開始時x座標的變化

toxdelta:動畫結束時x座標的變化

fromydelta:動畫開始時y座標的變化

toydelta:動畫結束時y座標的變化

//獲得translateanimation物件

translateanimation animation = new translateanimation(int fromxtype, float fromxvalue, int toxtype, float toxvalue,            int fromytype, float fromyvalue, int toytype, float toyvalue)

fromxtype:x軸的起始參照模式

fromxvalue:x軸的起始位置

toxtype:x軸的結束參照模式

toxvalue:x軸的結束位置

fromytype:y軸的起始參照模式

fromyvalue:y軸的起始位置

toytype:y軸的結束參照模式

toyvalue:y軸的結束位置

如果選擇參照模式為absolute,那麼對應的值應該是具體的座標值,比如100到300,指絕對的螢幕畫素單位

aznimaton.setanimationlistener(new animationlistener()

動畫重複時

@override

public void onanimationrepeat(animation animation) {}

動畫結束時

@override

public void onanimationend(animation animation) {}

});

逐幀動畫 簡單使用

a.xml資源檔案方式 b.方式 先在res drawable中新建乙個xml檔案,還要準備三張 a b c 然後在 中設定 資源方式 逐幀動畫 imag1.setbackgroundresource r.drawable.frame animation 資源方式必須用該方法,不用setbackgr...

安卓幀動畫簡單使用

今天給大家分享乙個安卓的逐幀動畫.下面就簡稱幀動畫了.先說一下優點,簡單,設定簡單,而且動畫流暢.再說乙個最大的缺點,只能用於輕量級的動畫,過大,過多都有可能導致記憶體溢位 常見使用情景.新介面空白頁的載入動畫,下拉重新整理動畫,網路請求載入動畫等等.說完了基礎介紹,下面就介紹一下幀動畫吧.首先最簡...

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

一 幀動畫 fameanimation 幀動畫的使用有兩種方式 1 通過xml配置幀動畫 在drawable檔案下建立xml檔案 通過src可將該drawable資源檔案新增到上去 android src drawable ani 獲取的drawable並將其轉換為animationdrawable...