淺學android 動畫

現在很多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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章