補間動畫的優點是可以節省空間。補間動畫與逐幀動畫在本質上是不同的,逐幀動畫通過連續播放圖檔來模拟動畫的效果,而補間動畫則是通過在兩個關鍵幀之間補充漸變的動畫效果來實作的。目前Android應用架構支援的補間動畫效果有以下5種。具體實作在android.view.animation類庫中。
AlphaAnimation:透明度(alpha)漸變效果,對應<alpha/>标簽。
TranslateAnimation:位移漸變,需要指定移動點的開始和結束坐标,對應<translate/>标簽。
ScaleAnimation:縮放漸變,可以指定縮放的參考點,對應<scale/>标簽。
RotateAnimation:旋轉漸變,可以指定旋轉的參考點,對應<rotate/>标簽。
AnimationSet:組合漸變,支援組合多種漸變效果,對應<set/>标簽。
補間動畫的效果同樣可以使用XML語言來定義,這些動畫模闆檔案通常會被放在Android項目的res/anim/目錄下。
主代碼


Animation的xml








代碼解析
alpha
fromAlpha :起始透明度
toAlpha:結束透明度
1.0表示完全不透明
0.0表示完全透明
rotate
fromDegrees:表示旋轉的起始角度
toDegrees:表示旋轉的結束角度
repeatCount:旋轉的次數 預設值是0 代表旋轉1次 如果值是repeatCount=4 旋轉5次,值為-1或者infinite時,表示補間動畫永不停止
repeatMode 設定重複的模式。預設是restart。當repeatCount的值大于0或者為infinite時才有效。
repeatCount=-1 或者infinite循環了 還可以設成reverse,表示偶數次顯示動畫時會做與動畫檔案定義的方向相反的方向動行。
scale
fromXScale:表示沿着x軸縮放的起始比例
toXScale:表示沿着x軸縮放的結束比例
fromYScale:表示沿着y軸縮放的起始比例
toYScale:表示沿着y軸縮放的結束比例
圖檔中心點:
translate
android:interpolator 動畫的渲染器
accelerate_interpolator(動畫加速器) 使動畫在開始的時候 最慢,然後逐漸加速
decelerate_interpolator(動畫減速器)使動畫在開始的時候 最快,然後逐漸減速
accelerate_decelerate_interpolator(動畫加速減速器)
中間位置分層: 使動畫在開始的時候 最慢,然後逐漸加速
使動畫在開始的時候 最快,然後逐漸減速 結束的位置最慢
fromXDelta 動畫起始位置的橫坐标
toXDelta 動畫起結束位置的橫坐标
fromYDelta 動畫起始位置的縱坐标
toYDelta 動畫結束位置的縱坐标
duration 動畫的持續時間
在實際項目中,我們經常使用補間動畫,原因是補間動畫使用起來比較友善,功能也比逐幀動畫強大不少,而且還可以很友善地進行動畫疊加,實作更加複雜的效果。
我是天王蓋地虎的分割線
<b></b>
<b>本文轉自我愛物聯網部落格園部落格,原文連結:http://www.cnblogs.com/yydcdut/p/3829860.html,如需轉載請自行聯系原作者</b>