在XML中定義動畫有四種方式,分別爲:java
<alpha/>android
<scale/>動畫
<translate/>this
<rotate/>spa
下面具體來介紹每一個標籤裏面的屬性code
<alpha> 控制動畫的透明度xml
fromAlpha: 動畫起始時的透明度utf-8
toAlpha:動畫結束時的透明度animation
說明:0.0 表示徹底透明,1.0表示徹底不透明(以上值取0.0-1.0之間的float數據類型的數字)it
duration:動畫持續的時間
eg:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="3000"/> </set>
<scale> 尺寸伸縮動畫效果
interpolator:指定一個動畫的插入器
有三種動畫插入器:accelerate_decelerate_interpolator 加速-減速 動畫插入器
accelerate_interpolator 加速-動畫插入器
decelerate_interpolator 減速- 動畫插入器
其餘的屬於特定的動畫效果
fromXScale:動畫起始時 X座標上的伸縮尺寸
toXScale:動畫結束時 X座標上的伸縮尺寸
fromYScale:動畫起始時Y座標上的伸縮尺寸
toYScale:動畫結束時Y座標上的伸縮尺寸
以上四種屬性值:0.0表示收縮到沒有,1.0表示正常無伸縮,值小於1.0表示收縮,值大於1.0表示放大
pivotX:動畫相對於物件的X座標的開始位置
pivotY:動畫相對於物件的Y座標的開始位置
說明:以上兩個屬性值 從0%-100%中取值,50%爲物件的X或Y方向座標上的中點位置
duration:動畫持續多長時間(毫秒ms)
fillAfter:當設置爲true時,該動畫轉化在動畫結束後被應用
eg:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.4" android:fromYScale="0.0" android:toYScale="1.4" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="700" /> </set>
<translate> 位置轉移動畫效果
fromXDelta:動畫起始時 X座標上的位置
toXDelta:動畫結束時 X座標上的位置
fromYDelta:動畫起始時 Y座標上的位置
toYDelta:動畫結束時 Y座標上的位置
說明:沒有指定fromXType, toXType, fromYType, toYType的時候,默認是以本身爲相對參照物
duration:動畫持續多長時間(毫秒ms)
eg:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="30" android:toXDelta="-80" android:fromYDelta="30" android:toYDelta="300" android:duration="2000" /> </set>
<rotate>旋轉動畫效果
interpolator:指定一個動畫的插入器
有三種動畫插入器:accelerate_decelerate_interpolator 加速-減速 動畫插入器
accelerate_interpolator 加速-動畫插入器
decelerate_interpolator 減速- 動畫插入器
其餘的屬於特定的動畫效果
fromDegrees:動畫起始時物件的角度
toDegrees:動畫結束時物件旋轉的角度 能夠大於360度
說明:當角度爲負數——表示逆時針旋轉
當角度爲正數——表示順時針旋轉
(負數from——to正數:順時針旋轉)
(負數from——to負數:逆時針旋轉)
(正數from——to正數:順時針旋轉)
(正數from——to負數:逆時針旋轉)
pivotX:動畫相對於物件的X座標的開始位置
pivotY:動畫相對於物件的Y座標的開始位置
說明:以上兩個屬性值 從0%-100%中取值,50%爲物件的X或Y方向座標上的中點位置
duration:動畫持續多長時間(毫秒ms)
eg:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromDegrees="0" android:toDegrees="+350" android:pivotX="50%" android:pivotY="50%" android:duration="3000" /> </set>
Java調用:
Animation animation=AnimationUtils.loadAnimation(HelloActivity.this,R.anim.buttonain); findViewById(R.id.listView).startAnimation(animation);