《Android項(xiàng)目式程序設(shè)計(jì)》07 圖形圖像寫(xiě)字字帖_第1頁(yè)
《Android項(xiàng)目式程序設(shè)計(jì)》07 圖形圖像寫(xiě)字字帖_第2頁(yè)
《Android項(xiàng)目式程序設(shè)計(jì)》07 圖形圖像寫(xiě)字字帖_第3頁(yè)
《Android項(xiàng)目式程序設(shè)計(jì)》07 圖形圖像寫(xiě)字字帖_第4頁(yè)
《Android項(xiàng)目式程序設(shè)計(jì)》07 圖形圖像寫(xiě)字字帖_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

項(xiàng)目七圖形圖像學(xué)習(xí)目標(biāo)掌握逐幀動(dòng)畫(huà)的使用方法掌握補(bǔ)間動(dòng)畫(huà)的使用方法掌握屬性動(dòng)畫(huà)的使用方法情景導(dǎo)入隨著Android技術(shù)的高速發(fā)展,圖形圖像效果的處理也得到了提升,為了能夠成功實(shí)現(xiàn)用戶所需要的圖形圖像的效果,需要對(duì)圖形圖像的處理進(jìn)行進(jìn)一步了解,本次任務(wù)主要實(shí)現(xiàn)動(dòng)態(tài)圖形圖像系統(tǒng)功能。任務(wù)描述本項(xiàng)目將設(shè)計(jì)一款動(dòng)態(tài)圖形圖像程序,通過(guò)直接運(yùn)行來(lái)實(shí)現(xiàn)動(dòng)畫(huà)的效果。使用線性布局設(shè)計(jì)界面實(shí)現(xiàn)旋轉(zhuǎn)、縮放、改變透明度等功能實(shí)現(xiàn)歡迎界面逐幀動(dòng)畫(huà)【基本框架】基本框架如圖7.1所示,將框架圖轉(zhuǎn)換成的效果如圖7.2、7.3所示。任務(wù)描述任務(wù)技能技能點(diǎn)1Bitmap和BitmapFactory

Bitmap代表一個(gè)位圖,也是最重要的圖像處理的類之一

??梢垣@取圖像文件信息,進(jìn)行圖像剪切、旋轉(zhuǎn)、縮放等操作,還可以指定格式保存圖像文件。Bitmap參數(shù)設(shè)置說(shuō)明如表7.1所示。任務(wù)技能任務(wù)技能任務(wù)技能技能點(diǎn)2逐幀動(dòng)畫(huà)1逐幀動(dòng)畫(huà)簡(jiǎn)介逐幀動(dòng)畫(huà)是比較容易理解的動(dòng)畫(huà),程序員需將多張連續(xù)的靜態(tài)圖片進(jìn)行收集,然后由Android來(lái)控制這些圖片顯示的順序和時(shí)間,利用肉眼“視覺(jué)暫留”的原理,實(shí)現(xiàn)“動(dòng)畫(huà)”的錯(cuò)覺(jué),逐幀動(dòng)畫(huà)的動(dòng)畫(huà)原理與放電影的原理完全一致。2逐幀動(dòng)畫(huà)格式及標(biāo)簽(1)格式定義逐幀動(dòng)畫(huà)很簡(jiǎn)單,在如圖7.4所示位置創(chuàng)建animation文件,<animation-list…/>元素中使用<item…/>子元素定義動(dòng)畫(huà)的全部幀,并指定各幀的持續(xù)時(shí)間即可。具體實(shí)現(xiàn)方法如下所示。任務(wù)技能任務(wù)技能(2)標(biāo)簽逐幀動(dòng)畫(huà)是一種常見(jiàn)的動(dòng)畫(huà)形式,原理是從“連續(xù)的關(guān)鍵幀”中分解動(dòng)畫(huà)動(dòng)作,就是在時(shí)間軸的每幀上逐幀繪制不同的內(nèi)容,讓它連續(xù)播放從而形成動(dòng)畫(huà),逐幀動(dòng)畫(huà)標(biāo)簽如表7.4所示。任務(wù)技能任務(wù)技能3AnimationDrawable類的常用方法

實(shí)現(xiàn)將圖片逐幀播放的功能,要使用Android提供的類AnimationDrawable,該類作為某一個(gè)View的background來(lái)使用。在AnimationDrawable類中提供addFrame函數(shù)為動(dòng)畫(huà)添加幀圖片,但是為了便于管理,建議使用XML文件來(lái)為該動(dòng)畫(huà)進(jìn)行配置。AnimationDrawable類的常用方法說(shuō)明如表7.5所示。任務(wù)技能4逐幀動(dòng)畫(huà)實(shí)現(xiàn)任務(wù)技能(3)實(shí)現(xiàn)效果如圖7.5所示。任務(wù)技能任務(wù)技能技能點(diǎn)3補(bǔ)間動(dòng)畫(huà)1補(bǔ)間動(dòng)畫(huà)簡(jiǎn)介補(bǔ)間動(dòng)畫(huà)指程序員需指定動(dòng)畫(huà)的開(kāi)始和結(jié)束等“關(guān)鍵幀”,而動(dòng)畫(huà)變化的“中間幀”,由系統(tǒng)計(jì)算并補(bǔ)齊,這是作者將Tween動(dòng)畫(huà)翻譯為“補(bǔ)間動(dòng)畫(huà)”的原因,圖7.6可以當(dāng)作補(bǔ)間動(dòng)畫(huà)的示意圖。任務(wù)技能2補(bǔ)間動(dòng)畫(huà)分類補(bǔ)間動(dòng)畫(huà)分為兩大類,分別是形狀補(bǔ)間動(dòng)畫(huà)、動(dòng)作補(bǔ)間動(dòng)畫(huà),兩個(gè)動(dòng)畫(huà)直接的區(qū)別如下:形狀補(bǔ)間動(dòng)畫(huà)是在Flash的時(shí)間幀面板上,在一個(gè)關(guān)鍵幀上繪制一個(gè)形狀,更改該形狀或繪制另一個(gè)形狀將其設(shè)為另一個(gè)關(guān)鍵幀,F(xiàn)lash將自動(dòng)根據(jù)二者之間的幀的值或形狀來(lái)創(chuàng)建動(dòng)畫(huà),它可以實(shí)現(xiàn)多種變化,如兩個(gè)圖形之間顏色、形狀、大小、位置的相互變化。動(dòng)作補(bǔ)間動(dòng)畫(huà)是指在Flash的時(shí)間幀面板上,在一個(gè)關(guān)鍵幀上放置一個(gè)元件,更改這個(gè)元件的大小、顏色、位置、透明度等將其設(shè)為另一個(gè)關(guān)鍵幀,F(xiàn)lash將自動(dòng)根據(jù)二者之間幀的值創(chuàng)建動(dòng)畫(huà)。圖7.7是縮放動(dòng)作補(bǔ)間動(dòng)畫(huà)示意圖,圖7.8是位移補(bǔ)間動(dòng)畫(huà)示意圖。任務(wù)技能任務(wù)技能3補(bǔ)間動(dòng)畫(huà)插值器在補(bǔ)間動(dòng)畫(huà)中,一般只定義關(guān)鍵幀(首幀或尾幀),中間幀是不需要自己設(shè)置的,系統(tǒng)會(huì)自動(dòng)生成,生成中間幀的這個(gè)過(guò)程可以成為“插值”。插值器定義了動(dòng)畫(huà)變化的速率,提供值隨時(shí)間變化而變化的函數(shù),比如加速、減速等。幾種常見(jiàn)的插值器如表7.6所示。任務(wù)技能技能點(diǎn)4屬性動(dòng)畫(huà)1屬性動(dòng)畫(huà)簡(jiǎn)介屬性動(dòng)畫(huà)是一種動(dòng)畫(huà)框架系統(tǒng),能滿足大部分動(dòng)畫(huà)需求。屬性動(dòng)畫(huà)能在動(dòng)畫(huà)執(zhí)行的過(guò)程中改變它的任意屬性值,所以不會(huì)影響其在動(dòng)畫(huà)執(zhí)行后所在位置的正常使用。2屬性動(dòng)畫(huà)的優(yōu)點(diǎn)及定義方式(1)優(yōu)點(diǎn)補(bǔ)間動(dòng)畫(huà)只能定義兩個(gè)關(guān)鍵幀的“透明度”,“旋轉(zhuǎn)”,“縮放”,“位移”4個(gè)屬性的變化,但屬性動(dòng)畫(huà)可定義任何屬性的變化補(bǔ)間動(dòng)畫(huà)只能對(duì)UI組件執(zhí)行動(dòng)畫(huà),而屬性動(dòng)畫(huà)可對(duì)任何對(duì)象執(zhí)行動(dòng)畫(huà)(不論是否顯示在界面)任務(wù)技能(2)定義方式使用ValueAnimator()或ObjectAnimator()的靜態(tài)工廠方法創(chuàng)建動(dòng)畫(huà)。使用文件資源定義動(dòng)畫(huà)。3屬性動(dòng)畫(huà)和補(bǔ)間動(dòng)畫(huà)區(qū)別補(bǔ)間動(dòng)畫(huà)與屬性動(dòng)畫(huà)在視覺(jué)上的效果是相同,但實(shí)際有很大區(qū)別。屬性動(dòng)畫(huà)優(yōu)勢(shì)很多,當(dāng)屬性動(dòng)畫(huà)移動(dòng)后,如果不再回到起始的位置,那么點(diǎn)擊執(zhí)行動(dòng)畫(huà)后的新位置,將接收不到Click事件(點(diǎn)擊事件)。補(bǔ)間動(dòng)畫(huà)只實(shí)現(xiàn)了圖像位置的改變,但控件實(shí)際上并未發(fā)生位移,點(diǎn)擊起始位置則可以接收到點(diǎn)擊事件。任務(wù)技能補(bǔ)間動(dòng)畫(huà)通過(guò)不斷的調(diào)用OnDraw()方法來(lái)進(jìn)行UI的繪制,而屬性動(dòng)畫(huà)一般只調(diào)用ViewGroup()進(jìn)行繪制。屬性動(dòng)畫(huà)執(zhí)行結(jié)束后不會(huì)主動(dòng)恢復(fù)到原來(lái)的狀態(tài),它會(huì)一直一直保持最后的狀態(tài),直到下一次執(zhí)行改變的時(shí)候才改變狀態(tài)。為了增加動(dòng)畫(huà)的靈活性,屬性動(dòng)畫(huà)通過(guò)ObjectAnimator()和PropertyValueHolder()進(jìn)行動(dòng)態(tài)控制,用一個(gè)例子具體講解一下屬性動(dòng)畫(huà)和補(bǔ)間動(dòng)畫(huà)的區(qū)別,如圖7.10、7.11所示。任務(wù)技能方塊A是執(zhí)行屬性動(dòng)畫(huà)移動(dòng)到之后的位置的話,該方塊A就實(shí)際真的在移動(dòng)后的位置了。但是如果方塊A是執(zhí)行補(bǔ)間動(dòng)畫(huà)移動(dòng)到之后的位置的話,該方塊A的實(shí)際位置還在原位置,只不過(guò)是視覺(jué)上覺(jué)得它的位置在執(zhí)行動(dòng)畫(huà)都的位置而已。任務(wù)技能4屬性動(dòng)畫(huà)實(shí)現(xiàn)任務(wù)實(shí)施第一步:在Eclipse中創(chuàng)建一個(gè)Android工程,命名為“動(dòng)態(tài)圖形圖像系統(tǒng)”,并設(shè)計(jì)界面。如圖7.2、7.3所示。第二步:在src文件夾中下建立MainActivity.java文件,并實(shí)現(xiàn)界面初始化,創(chuàng)建補(bǔ)間動(dòng)畫(huà)以及屬性動(dòng)畫(huà)的方法。第三步:實(shí)現(xiàn)補(bǔ)間動(dòng)畫(huà)以及屬性動(dòng)畫(huà)。第四步:實(shí)現(xiàn)延時(shí)跳轉(zhuǎn)功能。第五步:實(shí)現(xiàn)歡迎界面逐幀動(dòng)畫(huà)。第六步:運(yùn)行程序,結(jié)果如圖7.2、7.3所示。任務(wù)拓展【拓展目的】熟練掌握各類動(dòng)畫(huà)的使用方法與技能。【拓展內(nèi)容】實(shí)現(xiàn)手機(jī)掃描殺毒功能。效果如圖7.13所示。。【拓展步驟】1設(shè)計(jì)思路添加旋轉(zhuǎn)動(dòng)畫(huà)功能,實(shí)現(xiàn)殺毒掃描動(dòng)畫(huà)以及進(jìn)度條動(dòng)畫(huà)。實(shí)現(xiàn)界面初始化。實(shí)現(xiàn)掃描動(dòng)畫(huà)功能。掃描手機(jī)文件,進(jìn)行病毒查殺,并且實(shí)時(shí)更新進(jìn)度條。運(yùn)行程序。任務(wù)總結(jié)本任務(wù)主要介紹了Android的圖形圖像處理。Android提供了逐幀動(dòng)畫(huà)、補(bǔ)間動(dòng)畫(huà)、屬性動(dòng)畫(huà)支持,需

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論