現在很多app都運用了動畫,所有動畫也是UI要學的一部分。不說太多,進入主題。
一,Animation使用xml文件中的動畫:首先在資源文件res下建立一個anim文件存放xml動畫:
1,alpha:漸變透明度動畫
2,scale:漸變尺寸縮放動畫
3,translate:位置移動動畫
4,rotate:旋轉動畫
ps:共有的屬性:
1,duration:動畫播放的時間,毫秒爲單位
2,fillAfter:設置爲true,動畫轉化在動畫結束後爲應用
3,fillBefore:設置爲true,動畫轉化在動畫開始前爲應用
4,interpolator:動畫插入器,(加速,減速)
5,repeatCount:動畫重複次數
6,,repeatMode:順序播放,倒序播放
7,startOffset:動畫之間的時間間隔。
//透明度動畫:
<?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="2000"
></alpha>
</set>
解析alpha的屬性:
1,android:fromAlpha=”0.1” 透明度10%
2,android:toAlpha=”1.0” 透明度100%
//縮放動畫
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
android:fromXScale="0.0"
android:fromYScale="0.0"
android:duration="3000"
android:pivotX="50%"
android:pivotY="50%"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toXScale="1.0"
android:toYScale="1.0"
android:fillAfter="false"
/>
</set>
解析scale動畫屬性:
1,android:fromXScale=”0.0”,開始時在X座標上的伸縮尺寸
2,android:fromYScale=”0.0”,開始時在Y座標上的伸縮尺寸
3,,android:toXScale=”1.0” 結束時在X座標上的伸縮尺寸
4,android :toYScale=”1.0”結束時在Y座標上的伸縮尺寸
5,android:pivotX=”50%” ,分別爲伸縮動畫相對於X座標開始位置
6,android:pivotY=”50%”分別爲伸縮動畫相對於Y座標開始位置
//位移動畫
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:fromYDelta="0"
android:duration="2000"
android:toXDelta="1000"
android:toYDelta="1000"
>
</translate>
</set>
解析位移動畫的屬性:
1,android:formXDelte ,開始時X的座標
2,android :fromYDelte,開始時Y的座標
3,android :toXDelte:結束時X的座標
4,android :toYDelte:結束時Y的座標
//旋轉動畫
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="0"
android:pivotY="0"
android:duration="2000"
android:interpolator="@android:anim/accelerate_interpolator"
/>
</set>
解析Rotate動畫屬性
1,android:fromDegress 開始的角度
2,android:toDegress 結束的角度
3,android:pivoX 旋轉動畫相對於X座標
4 android:pivoY:旋轉動畫相對於Y座標
在代碼中實現:
Animation animation=AnimationUtils.loadAnimation(this,R.anim.alpha);
img.startAnimation(animation);