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...