Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android動畫分類和區別

Android動畫分類和區別

編輯:關於Android編程


Android包含三種動畫:View Animation、 Drawable Animation、Property Animation(Android3.0新引入)。

View Animation

基於View的漸變動畫,她只改變了View的繪制效果,而實際屬性值未變。比如動畫移動一個按鈕位置,但按鈕點擊的實際位置仍未改變。在代碼中定義動畫,可以參考AnimationSet類和Animation的子類;而如果使用XML,可以在res/anim/文件夾中定義XML文件。

Drawable Animation:

加載一系列Drawable資源來創建動畫,這種傳統動畫某種程度上就是創建不同圖片序列,順序播放,就像電影膠片。在代碼中定義動畫幀,使用AnimationDrawable類;XML文件能更簡單的組成動畫幀,在res/drawable文件夾,使用采用來定義不同的幀。感覺只能設置的屬性是動畫間隔時間。

Property Animation:

動畫的對象除了傳統的View對象,還可以是Object對象,動畫之後,Object對象的屬性值被實實在在的改變了。Property animation能夠通過改變View對象的實際屬性來實現View動畫。任何時候View屬性的改變,View能自動調用invalidate()來試試刷新。

View實施Property animation時的新屬性:

    translationX 、translationY: 左上坐標的改變值
      rotation、 rotationX、 rotationY
        scaleX 、 scaleY: 橫縱向的縮放比例,如:1.2f、0.8f
          pivotX 、 pivotY: 縮放和旋轉時橫縱向中心點,默認情況下是View的中心,如果想以View的左上坐標為中心進行旋轉或者縮放,應該將其值都設置為0
            x 、 y:
              alpha:透明度. 默認為1,0代表全透明,即不可見

              實例:ObjectAnimator.ofFloat(myView, "rotation", 0f, 270f);

              這些屬性能與Layout文件中的View屬性相對應,不同的是:pivotX 和 pivotY對應android:transformPivotX 和android:transformPivotX;另外scaleX 和 scaleY:縮放都是基於原來大小,比如擴大了兩倍之後,想縮小兩倍,即還原為本身大小,如果采用ViewPropertyAnimator代碼中應該如下:

              myView.animate().scaleX(2.0f).scaleY(2.0f)//擴大兩倍 myView.animate().scaleX(1.0f).scaleY(1.0f)//還原

              從 Android 3.1開始, Property animation的 XML文件定義位於 res/animator/ 位於 (而不是 res/anim/)。Property animation類中對應的XML標簽如下:

              ValueAnimator - ObjectAnimator - AnimatorSet -

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved