Android動畫知識回顧--補間動畫(一)

首先感謝啓艦大神,本篇主要是對學習Android自定義控件三部曲過程中知識的回顧。

  • 從Animation類繼承的屬性

android:duration      動畫持續時間,以毫秒爲單位 
android:fillAfter     如果設置爲true,控件動畫結束時,將保持動畫最後時的狀態
android:fillBefore    如果設置爲true,控件動畫結束時,還原到開始動畫前的狀態
android:fillEnabled   與android:fillBefore 效果相同,都是在動畫結束時,將控件還原到初始化狀態
android:repeatCount   重複次數
android:repeatMode    重複類型,有reverse和restart兩個值,reverse表示倒序回放,restart表示重放
android:interpolator  設定插值器,其實就是指定的動作效果,比如彈跳效果等

注意:必須與repeatCount一起使用才能看到效果。因爲這裏的意義是重複的類型,即回放時的動作。 

  • alpha、scale、translate、rotate、set的xml屬性及用法 

alpha 漸變透明度動畫效果
scale 漸變尺寸伸縮動畫效果
translate 畫面轉換位置移動動畫效果
rotate 畫面轉移旋轉動畫效果
  • alpha屬性

<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromAlpha="1.0"     //動畫開始的透明度,從0.0到1.0 、0.0表示全透明,1.0表示完全不透明
    android:toAlpha="0.1"       //動畫結束時的透明度,也是從0.0、1.0 ,與fromAlpha屬性相反
    android:duration="3000"     //動畫執行的時間
    android:fillBefore="true">  //如果設置爲true,控件動畫結束時,還原到開始動畫前的狀態

</alpha>
  • scale屬性
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="0.0"  // 起始的X方向上相對自身的縮放比例,浮點值
    android:toXScale="1.4"    // 結尾的X方向上相對自身的縮放比例,浮點值
    android:fromYScale="0.0"  // 起始的Y方向上相對自身的縮放比例,浮點值
    android:toYScale="1.4"    // 結尾的Y方向上相對自身的縮放比例,浮點值
    android:pivotX="50"       // 縮放起點X軸座標,可以是數值、百分數、百分數p 三種樣式
    android:pivotY="50"       // 縮放起點Y軸座標,取值及意義跟android:pivotX一樣
    android:duration="700">  

</scale>

注意:pivotX和pivotY的屬性中三種數值的意義各有不同,比如 50、50%、 50%p,當爲數值時,表示在當前View的左上角,即原點處加上50px,做爲起始縮放點; 如果是50%,表示在當前控件的左上角加上自己寬度的50%做爲起始點;如果是50%p, 那麼就是表示在當前的左上角加上父控件寬度的50%做爲起始點x軸座標。

  • translate屬性

<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0"  // 起始點X軸座標,可以是數值、百分數、百分數p 三種樣式
    android:toXDelta="-80"  // 起始點Y軸從標,可以是數值、百分數、百分數p 三種樣式
    android:fromYDelta="0"  // 結束點X軸座標
    android:toYDelta="-80"  // 結束點Y軸座標
    android:duration="2000"
    android:fillBefore="true">

</translate>
  • rotate屬性

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromDegrees="0"   // 開始旋轉的角度位置,正值代表順時針方向度數,負值代碼逆時針方向度數
    android:toDegrees="-650"  // 結束時旋轉到的角度位置,正值代表順時針方向度數,負值代碼逆時針方向度數
    android:pivotY="50%"      // 縮放起點X軸座標,可以是數值、百分數、百分數p 三種樣式    
    android:pivotX="50%"      // 縮放起點Y軸座標,可以是數值、百分數、百分數p 三種樣式
    android:duration="3000"
    android:fillAfter="true">

</rotate>
  • set屬性

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3000"
    android:fillAfter="true">
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

    <scale
        android:fromXScale="0.0"
        android:toXScale="1.4"
        android:fromYScale="0.0"
        android:toYScale="1.4"
        android:pivotX="50%"
        android:pivotY="50%" />

    <rotate
        android:fromDegrees="0"
        android:toDegrees="720"
        android:pivotX="50%"
        android:pivotY="50%" />
</set>

 

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