Android基礎動畫之alpha透明度/translate平移/rotate旋轉

阿策~發表於2019-01-07

      小菜最近在學習 Android 基本動畫,前兩天整理了一下相對複雜的 Android 基礎動畫之 scale 漸變縮放,今天繼續學習整理其他三種基本動畫。

公共屬性:

1. android:duration=”3500″

      duration 代表動畫過程中持續時常;所有的動畫均有該屬性;

2. android:fillAfter=”true”

      fillAfter 代表動畫結束後是否儲存在最後位置,true 為結束位置,false 為返回開始位置。

      動畫的繫結方式可以參考上一篇部落格,下面直接介紹各動畫詳細屬性。

Alpha 透明度

anim_alpha.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

1. android:fromAlpha=”0.0″

      fromAlpha 代表 View 的初始透明度;

2. android:toAlpha=”1.0″

      toAlpha 代表 View 的終止透明度;

      Tips: 透明度設定的範圍並非只是在 0.0~1.0 之間,<= 0.0 不可見,>= 1.0 為可見,設定在初始值小於 0.0 或終止值大於 1.0 時顯示是有區別的。例:fromAlpha=”-2.5″ 和 toAlpha=”1.0″,動畫時間前 2.5s 均不可見,最後 1s 出現由 0.0->1.0 的透明變化,建議大家多多嘗試。

Translate 平移

anim_translate.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="3500"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:fromYDelta="0"
    android:toXDelta="50%"
    android:toYDelta="50%p" />

1. android:fromXDelta=”0″

      fromXDelta 代表水平方向平移的初始位置;

2. android:toXDelta=”50%”

      toXDelta 代表水平方向平移的終止位置;

3. android:fromYDelta=”0″

      fromYDelta 代表豎直方向平移的初始位置;

4. android:toYDelta=”50%”

      toYDelta 代表豎直方向平移的終止位置;

      Tips: 平移的值與 scale 縮放時類似,分為整數值,百分比/小數點值,百分比 + p 方式,使用方法與 scale 中一致,請參照上一篇部落格介紹。

Rotate 旋轉

anim_rotate.xml

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

1. android:fromDegrees=”0″

      fromDegrees 代表 View 旋轉時初始角度,角度正負均可;

2. android:toDegrees=”0″

      toDegrees 代表 View 旋轉時終止角度;

3. android:pivotX=”50%”

      pivotX 代表 View 旋轉時圓心 (pivotX, y)

4. android:pivotY=”0%”

      pivotY 代表 View 旋轉時圓心 (x, pivotY)

Tips:

  1. pivotXpivotY 代表的圓心座標點值與 scale 縮放時類似,分為整數值,百分比/小數點值,百分比 + p 方式;
  2. 若不設定 pivotXpivotY 預設代表 (0, 0),若不設定 fromDegreestoDegrees 預設沒有反應,因為旋轉角度為 0,若不設定 duration 則沒有旋轉效果,預設時間為 0。

      小菜的動畫部分是短板,正在從零學習,不對的請多多指正。


相關文章