android動畫主要分為3種
何為屬性動畫?
通過改變物件的屬性以達到動畫的效果,api 11以上可以用,如果想相容舊版本請使用 。屬性動畫的預設的時間為300ms,它可以在時間間隔內完成物件從乙個屬性值到另外乙個屬性值的改變。比較常用的屬性動畫物件有:
valueanimator,objectanimator,animatorset,其中objectanimator是valueanimator的子類,animatorset代表動畫集合。
如何使用?
首先布局和activity的準備**和之前一樣,即在布局中放置乙個imageview,然後在程式中獲取,接下來介紹幾種常見動畫的使用
1、平移動畫
/**
* 1.5秒 將影象向y軸正方向移動500,translationy可以換成translationx
*/private void translateani()
測試執行
translate.gif
2、縮放動畫
/**
* 1.5秒 將影象沿y從1.0放大到1.5,注意這裡屬性值可以為scalex和scaley,但設定scale是不行的
*/private void scaleani()
測試執行
scale.gif
3、旋轉動畫
/**
* 1.5秒 將影象軸旋轉360度
*/private void rotateani()
測試執行
rotate.gif
4、透明度動畫
/**
* 1.5秒 將影象的透明度從1變到0.2
*/private void alphaani()
測試執行
alpha.gif
5、動畫集合
/**
* 屬性集合 將上述動畫集合起來一起放一遍
*/private void aniset()
測試執行
set.gif
6、顏色漸變動畫
這種方式比較坑,試了很多種,按上面那些方式行不通,最後想到這個應該是屬於任意屬性的範疇,所以採用了valueanimator,監聽動畫過程,自己來實現屬性的改變,果然成功了:
// 顏色漸變動畫 這個要注意 無法直接採用上面的方法直接來設定 設定了也是無效的 這裡涉及到給任意屬性設定動畫的問題
private void colorani(int startcolor, int endcolor)
});valueanimator.setduration(3000);
valueanimator.start();
}
測試執行
backgroundcolor.gif
**位址
Android動畫之屬性動畫
補間動畫,只是乙個動畫效果,元件其實還在原來的位置上,xy沒有改變,屬性動畫則反之 import android.animation.animator import android.animation.animatorinflater import android.animation.animato...
Android 動畫 動畫詳解之屬性動畫(五)
在前幾篇中,我們了解了補間動畫 插值器和屬性動畫中的valueanimator,這一篇,我們來了解下屬性動畫中的objectanimator objectanimator是通過指定屬性所對應的set方法來改變的。比如,我們上面指定的改變rotation的屬性值,在做動畫時就會到指定控制項 textv...
android屬性動畫
一 屬性動畫的工作原理,主要有三個步驟 1 計算時間流逝。android動畫系統呼叫,用0 1代表時間的流逝。0表示經過0 的時間,1表示經過100 的時間。2 根據timeinterpolator計算出乙個差值因素。timeinterpolator以第1步流逝的時間作為引數,根據運動規則得出另乙個...