Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中Animation動畫的介紹及用法

Android中Animation動畫的介紹及用法

編輯:關於Android編程

Android SDK介紹了2種Animation:

Tween Animation(漸變動畫):通過對特定的對象做圖像變換如平移、縮放、旋轉、淡出/淡入等產生動畫效果

Frame Animation(幀動畫):創建一個Drawable序列,這些Drawable可以按照指定的時間間隔一個一個的顯示,也就是順序播放事先做好的圖像。
 

1、Tween Animation動畫:
 

(1)Tween Animation有4種樣式:

Alpha:漸變透明度動畫效果

Scale:漸變尺寸伸縮動畫效果

Translate:移動動畫效果

Rotate:旋轉動畫效果

 

 (2)Tween Animation有 2種使用方法:

a、在XML資源中定義Animation,使用AnimationUtils中的loadAnimation()函數加載動畫;

b、使用Animation子類的構造函數來初始化Animation對象。

 

在XML資源中定義Animation:

Alpha:

   
          
Scale:
  
         

Translate:
 

  
t;!--         
fromXDelta:為動畫起始時 X坐標上的位置     
toXDelta: 為動畫結束時 X坐標上的位置        
fromYDelta: 為動畫起始時 Y坐標上的位置  
toYDelta:為動畫結束時 Y坐標上的位置 -->  
Rotate:
  
t;!--         
fromDegrees:動畫起始時物件的角度  
toDegrees:動畫結束時物件旋轉的角度 可以大於360度  
            當角度為負數——表示逆時針旋轉  
            當角度為正數——表示順時針旋轉  
            (負數from——to正數:順時針旋轉)  
            (負數from——to負數:逆時針旋轉)  
            (正數from——to正數:順時針旋轉)  
            (正數from——to負數:逆時針旋轉)  
  
pivotX;:為動畫相對於物件的X、Y坐標的開始位置  
pivotY: 為動畫相對於物件的X、Y坐標的開始位置  
            50%為物件的X或Y方向坐標上的中點位置 -->  

使用Animation子類的構造函數來初始化Animation對象:


 

在Android SDK中提供了相應的類,Animation類派生出了AlphaAnimationScaleAnimationTranslateAnimationRotateAnimation分別實現了平移、旋轉、漸變尺寸和透明度等動畫。

 

Tween Animation通過對 View 的內容完成一系列的圖形變換 (包括平移、縮放、旋轉、改變透明度)來實現動畫效果。具體來講,預先定義一組指令,這些指令指定了圖形變換的類型、觸發時間、持續時間。這些指令可以是以 XML 文件方式定義,也可以是以源代碼方式定義。程序沿著時間線執行這些指令就可以實現動畫效果。

(3)Android SDK中通過interpolator控制動畫的運行

interpolator定義一個動畫的變化率(the rate of change)。這使得基本的動畫效果(alpha, scale, translate, rotate)得以加速,減速,重復等。

 

Interpolator是基類,Android 提供了幾個 Interpolator 子類,實現了不同的速度曲線,如下:

 

AccelerateDecelerateInterpolator 在動畫開始與結束的時候減速,在中間的時候加速

AccelerateInterpolator   在動畫開始的時候減速,然後開始加速

CycleInterpolator    動畫循環播放特定的次數,速率改變沿著正弦曲線

DecelerateInterpolator   在動畫開始的時候加速,然後開始減速

LinearInterpolator   在動畫的以均勻的速率改變

 

(4)動畫的運行模式

動畫的運行模式有兩種:

獨占模式:即程序主線程進入一個循環,根據動畫指令不斷刷新屏幕,直到動畫結束;

中斷模式:即有單獨一個線程對時間計數,每隔一定的時間向主線程發通知,主線程接到通知後更新屏幕

 

2、Frame Animation動畫:

前面已經說過,Frame Animation是順序播放事先做好的圖像,與電影類似。Android SDK提供了類AnimationDrawable來定義、使用Frame Animation。

 

Frame Animation可以在XML Resource定義,也可以使用AnimationDrawable中的API定義。由於Tween Animation與Frame Animation有著很大的不同,因此XML定義的格式也完全不一樣,其格式是:首先是animation-list根節點,animation-list根節點中包含多個item子節點,每個item節點定義一幀動畫:當前幀的drawable資源和當前幀持續的時間。


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