第9章--Android-2D動(dòng)畫_第1頁
第9章--Android-2D動(dòng)畫_第2頁
第9章--Android-2D動(dòng)畫_第3頁
第9章--Android-2D動(dòng)畫_第4頁
第9章--Android-2D動(dòng)畫_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Android基礎(chǔ)與應(yīng)用開發(fā)教程大連理工大學(xué)出版社Android 2D動(dòng)畫第9章9.1 逐幀動(dòng)畫9.1.1 規(guī)劃逐幀動(dòng)畫9.1 逐幀動(dòng)畫9.1.2 創(chuàng)建活動(dòng)9.1 逐幀動(dòng)畫在Android中通過圖形包中的AnimationDrawable類就可以實(shí)現(xiàn)逐幀動(dòng)畫。這個(gè)類可以獲取Drawable資源列表(類似于圖像)并按指定間隔渲染它們。AnimationDrawable類實(shí)際上是基本的Drawable類所提供的動(dòng)畫小型打包器。Drawable類請(qǐng)求它的容器或視圖激活Runnable類來開啟動(dòng)畫功能,而Runnable類可用不同的參數(shù)集重新繪制Drawable。注意,使用AnimationDrawa

2、ble類時(shí)并不需要知道其內(nèi)部實(shí)現(xiàn)的細(xì)節(jié)。但是如果有更復(fù)雜的需要,就應(yīng)當(dāng)看一下AnimationDrawable的源代碼,以便指導(dǎo)動(dòng)畫的編寫。9.1.3 給活動(dòng)添加動(dòng)畫9.2 布局動(dòng)畫 補(bǔ)間動(dòng)畫的基本類型有下述四種:縮放動(dòng)畫:讓視圖在X軸或Y軸上改變大小。也可以指定動(dòng)畫變化的中心點(diǎn);旋轉(zhuǎn)動(dòng)畫:在某中心點(diǎn)周圍將視圖做一定程度的旋轉(zhuǎn);平移動(dòng)畫:將視圖沿著x軸或Y軸移動(dòng);alpha動(dòng)畫:改變視圖的透明度。9.2.1 補(bǔ)間動(dòng)畫的基本類型9.2 布局動(dòng)畫在活動(dòng)中設(shè)置一個(gè)簡(jiǎn)單的ListView,就可將動(dòng)畫添加到其中,讓每個(gè)列表項(xiàng)目都進(jìn)人動(dòng)畫之中。假定我們有一個(gè)能夠讓視圖在Y軸上從0增長到原來大小的縮放動(dòng)畫,

3、我們可以把該動(dòng)畫添加到ListView中。然后再設(shè)置一些參數(shù)來擴(kuò)展這個(gè)基本的動(dòng)畫,讓該列表自頂向下、自左向右地活動(dòng)起來。我們可通過一個(gè)中間類來指定這些參數(shù),中間類起到單個(gè)動(dòng)畫與列表的媒介作用。單個(gè)動(dòng)畫和媒介都可在/res/anim子目錄中的XML文件內(nèi)進(jìn)行定義。一旦有了媒介XML文件,就可以把該文件用作其XML布局中所定義的ListView的輸人。完成這個(gè)基本設(shè)置后,就可以啟動(dòng)修改后的動(dòng)畫,觀察修改后ListView的顯示情況。9.2.2 布局動(dòng)畫的測(cè)試工具9.3 視圖動(dòng)畫9.3.1 視圖動(dòng)畫的概念視圖在Android屏幕上顯示時(shí),它已經(jīng)過變換矩陣的處理。在圖形應(yīng)用程序中,可利用變換矩陣來變換

4、視圖。這個(gè)過程涉及獲取像素坐標(biāo)輸人集合和顏色組合,以及將它們轉(zhuǎn)換成新的像素坐標(biāo)集合和顏色組合。變換結(jié)束后,所看到的是改變了大小、位置、方向和顏色的圖形。這個(gè)變換過程,就是乘以變換矩陣的過程;更改變換矩陣,就可以影響視圖的外貌。如果視圖乘以某矩陣而不發(fā)生改變時(shí),該矩陣就稱為單位矩陣。通常都是從單位矩陣開始,然后應(yīng)用一系列涉及大小、位置和方向的變換獲得視圖的動(dòng)畫效果。Android提供視圖變換矩陣的辦法是用視圖注冊(cè)動(dòng)畫對(duì)象。該動(dòng)畫對(duì)象利用回調(diào)函數(shù)獲得視圖的當(dāng)前變換矩陣,并用它改變視圖獲得新視圖。本節(jié)我們將探討這個(gè)過程。9.3 視圖動(dòng)畫9.3.2 添加動(dòng)畫效果我們的目的是給圖9-5中的ListVie

5、w添加動(dòng)畫。為此,首先從android. view.animation. Animation類派生一個(gè)類ViewAnimation,然后重載它的applyTransformation()方法來修改變換矩陣。完成這些工作之后,就可以對(duì)ListView類做下面的事情:9.3 視圖動(dòng)畫9.3.3 用攝像機(jī)提供2D的深度感Android圖形包中提供了另一種動(dòng)畫變換相關(guān)的類Camera攝像機(jī))。這個(gè)類將3D空間內(nèi)運(yùn)動(dòng)的2D圖像投影到2D表面上,以提供深度感覺。例如,可將ListView沿z軸向屏幕后移10個(gè)像素,再圍繞Y軸旋轉(zhuǎn)30度。下面是用Camera操縱矩陣的例子:9.3 視圖動(dòng)畫9.3.5 有關(guān)變換矩陣的注釋9.4 本章小結(jié)在本章,我們介紹了一種有樂趣的辦法,即用動(dòng)畫功能來擴(kuò)充UI程序來增強(qiáng)它。我們的討論涵蓋了Android支持的所有主要的動(dòng)畫類型,包括逐幀動(dòng)畫、布局動(dòng)畫和視圖動(dòng)畫。此外,還

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論