Android中的補間動畫(tween)的簡單使用

相對幀動畫,補間動畫(tween)可以這麼理解:我們不必像幀動畫一樣指定動畫的每一幀,只需定義一個動畫的開始和結束關鍵幀,而中間變化的幀由系統幫我們計算。

tween動畫可以分爲下面幾種:

AlphaAnimation(透明漸變動畫):

示例:res/anim/alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"  
    android:fillAfter="true"
    android:fromAlpha="0.0"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toAlpha="1.0" >

</alpha>

屬性介紹:

duration:動畫持續的時間

fromAlpha:漸變開始值,Float 0.0完全透明 1.0完全不透明

toAlpha:漸變結束值

repeatCount: 動畫重複次數

repeatMode:動畫重複模式,["repeat"|"reverse"] repeat(透明-不透明 透明-不透明)

reverse(透明-不透明 不透明-透明)

開始動畫:

Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);
iv.startAnimation(animation);    //使用ImageView的startAnimation開始動畫

ScaleAnimation(縮放動畫):

res/anim/scale.xml

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fillAfter="false"
    android:fromXScale="0.2"
    android:fromYScale="0.2"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:toXScale="2.0"
    android:toYScale="2.0" >

</scale>

主要屬性說明:

fromXScale,fromYScale: 動畫開始時縮放比(x,y軸)

toXScale,toYscale: 動畫結束時縮放比

pivotX,pivotY:縮放中心點 (50%,50%)則爲自身中心點(0,0)左上方


TranslateAnimation(位移動畫):

res/anim/translate.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="-50%p"
    android:fromYDelta="0.0"
    android:toXDelta="50%p"
    android:toYDelta="0.0"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:duration="2000"
     >

</translate>

fromXDelta fromYDelta:開始位置座標,可以是Float值和百分比 50%p以父容器爲參考

toXDelta toYDelta: 結束位置座標

RotateAnimation(旋轉動畫):

res/anim/rotate.xml

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="1"
    android:repeatMode="reverse"
    android:duration="2000" >

</rotate>

屬性介紹:

fromDegrees:旋轉開始角度

toDegrees:旋轉結束角度,

pivotX pivotY:旋轉中心點

上面動畫實現以自身中心點爲基準點旋轉360度

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