Android動畫 補間 Tween 動畫

2021-09-06 19:40:45 字數 3177 閱讀 6941

android動畫的兩種方式,其中幀動畫上篇文章已經講了,這次主要講解的就是補間動畫,補間動畫就是動畫業務場景中常用的旋轉,平移,縮放,和漸變效果,幀動畫是通過輪播動畫實現動畫效果,補間動畫通過在兩個關鍵幀之間補充漸變的動畫效果來實現的,相對而言補間動畫的暫用的空間更小,補間動畫有兩種方式,一種是直接在**中是實現,另外一種是在xml檔案中定義,然後通過**呼叫,如果以後有需要直接改xml檔案就行不需要改**。

先來看下是實現的效果:

layout中xml設定:

漸變透明度,初始化建構函式的時候兩個數字最小透明度和最大透明度:

alphaanimation alphaanimation=new alphaanimation(0.1f, 1f);

//設定動畫時間

alphaanimation.setduration(3000);

//重複次數

alphaanimation.setrepeatcount(1);

alphaanimation.setrepeatmode(animation.reverse);

image.startanimation(alphaanimation);

旋轉效果,初始化的時候是旋轉0度到360度:

rotateanimation rotateanimation=new rotateanimation(0f, 360f);

rotateanimation.setduration(2000);

image.startanimation(rotateanimation);

位移效果,

第乙個引數fromxdelta ,第二個引數toxdelta:分別是動畫起始、結束時x座標,第三個引數fromydelta ,第四個引數toydelta:分別是動畫起始、結束時y座標:

translateanimation translateanimation=new translateanimation(0f, 100f, 0f, 100f);

translateanimation.setduration(2000);

image.startanimation(translateanimation);

縮放效果

scaleanimation scaleanimation=new scaleanimation(0.1f, 1f, 0.1f, 1f);

scaleanimation.setduration(2000);

image.startanimation(scaleanimation);

縮放的同時移動(最後兩種效果混合):

animationset  animationset=new animationset(true);

translateanimation translateanimation=new translateanimation(0f, 100f, 0f, 100f);

scaleanimation scaleanimation=new scaleanimation(0.1f, 1f, 0.1f, 1f);

animationset.addanimation(translateanimation);

animationset.addanimation(scaleanimation);

animationset.setduration(2000);

image.startanimation(animationset);

第二種是在xml檔案中定義,將**中的屬性值在xml中設定即可:

漸變xml

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

呼叫:

animation alphaanimation=animationutils.loadanimation(this, r.anim.alpha);

image.startanimation(alphaanimation);

旋轉xml:

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

呼叫:

animation rotateanimation=animationutils.loadanimation(this, r.anim.roate);

image.startanimation(rotateanimation);

縮放xml:

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

呼叫:

animation scaleanimation=animationutils.loadanimation(this, r.anim.scale);

image.startanimation(scaleanimation);

位移xml:

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

呼叫:

animation translateanimation=animationutils.loadanimation(this, r.anim.tran);

image.startanimation(translateanimation);

組合xml:

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

呼叫:

animation animationset=animationutils.loadanimation(this, r.anim.set);

image.startanimation(animationset);

android動畫之補間動畫

補間動畫 移動補間動畫,縮放補間動畫,旋轉補間動畫,透明補間動畫 1.移動補間動畫 translateanimation 指定移動的絕對位置 以自己的左上角為參照點 translateanimation translateanimation new translateanimation 0,0,0,...

Android補間動畫使用

列表內容 補間動畫是一種設定動畫開始狀態 結束狀態,其中間的變化由系統計算補充。這也是他叫做補間動畫的原因。補間動畫由animation類來實現具體效果,包括平移 translateanimation 縮放 scaleanimation 旋轉 rotateanimation 透明度 alphaani...

Android 補間動畫學習

先上圖,看效果 我這是從大神那邊整理的,需要詳細的請移步。補間動畫的四種 平移動畫 translate 縮放動畫 scale 旋轉動畫 rotate 透明度動畫 alpha 在res目錄建立乙個anim目錄,把你的動畫都放在裡面。屬性詳解 劃重點 android duration 3000 動畫持續...