Android XML檔案中定義動畫的一些屬性
1.在res目錄下新建anim資料夾
2.寫一個xxx.xml
3.在xml中加入一些控制動畫的屬性。
<alpha/>----------透明度變化
<scale/>-----------尺寸伸縮變化
<translate/>---------位移變化
<rotate/>-------------旋轉變化
<alpha>
<?xml version="1.0" encoding="utf-8"?>
<alpha
android:fromAlpha="0.1"
android:toAlpha="1.0"
android:duration="3000"/>
<!-- 透明度控制動畫效果 alpha
浮點型值:
fromAlpha 屬性為動畫起始時透明度
toAlpha 屬性為動畫結束時透明度
說明:
0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之間的float資料型別的數字
長整型值
duration 屬性為動畫持續時間
說明:
時間以毫秒為單位
</set>
<scale>
<?xml version="1.0" encoding="utf-8"?>
<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>
<!-- 尺寸伸縮動畫效果 scale
屬性:interpolator 指定一個動畫的插入器
在我試驗過程中,使用android.res.anim中的資源時候發現
有三種動畫插入器:
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 屬性為動畫持續時間
說明: 時間以毫秒為單位
布林型值:
fillAfter 屬性 當設定為true ,該動畫轉化在動畫結束後被應用
<translate>
<?xml version="1.0" encoding="utf-8"?>
<translate
android:fromXDelta="30"
android:toXDelta="-80"
android:fromYDelta="30"
android:toYDelta="300"
android:duration="2000"
/>
<!-- translate 位置轉移動畫效果
整型值:
fromXDelta 屬性為動畫起始時 X座標上的位置
toXDelta 屬性為動畫結束時 X座標上的位置
fromYDelta 屬性為動畫起始時 Y座標上的位置
toYDelta 屬性為動畫結束時 Y座標上的位置
注意:
沒有指定fromXType toXType fromYType toYType 時候,
預設是以自己為相對參照物
長整型值:
duration 屬性為動畫持續時間
說明: 時間以毫秒為單位
</set>
<rotate>
<?xml version="1.0" encoding="utf-8"?>
<rotate android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromDegrees="0"
android:toDegrees="+350"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000" />
<!-- rotate 旋轉動畫效果
屬性:interpolator 指定一個動畫的插入器
在我試驗過程中,使用android.res.anim中的資源時候發現
有三種動畫插入器:
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 屬性為動畫持續時間
說明: 時間以毫秒為單位
</set>
Java 檔案呼叫
Button button=(Button)findViewById(R.id.ok)
button.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
Animation animation=AnimationUtils.loadAnimation(HelloActivity.this,R.anim.buttonain);
findViewById(R.id.listView).startAnimation(animation);
}
});
</set>