Android View類與SurfaceView類詳解
Android游戲開發(fā)中主要的類除了控制類就是顯示類,比較重要也很復(fù)雜的就是顯示和游戲邏輯的處理。在J2ME中可以通過Display和Canvas來實現(xiàn)顯示,而Android中處理顯示的是View類。下面為大家簡單介紹android.view.View和android.view.SurfaceView。
SurfaceView是從View基類中派生出來的顯示類,直接子類有GLSurfaceView和VideoView,可以看出GL和視頻播放以及Camera攝像頭一般均使用SurfaceView,到底有哪些優(yōu)勢呢? SurfaceView可以控制表面的格式,比如大小,顯示在屏幕中的位置,最關(guān)鍵是的提供了SurfaceHolder類,使用getHolder方法獲取,相關(guān)的有Canvas lockCanvas()、 Canvas lockCanvas(Rect dirty) 、void removeCallback(SurfaceHolder.Callback callback)、void unlockCanvasAndPost(Canvas canvas) 控制圖形以及繪制,而在SurfaceHolder.Callback 接口回調(diào)中可以通過下面三個抽象類可以自己定義具體的實現(xiàn)(比如第一個更改格式和顯示畫面):
abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height) ;
abstract void surfaceCreated(SurfaceHolder holder) ;
abstract void surfaceDestroyed(SurfaceHolder holder) ;
對于Surface相關(guān)的,Android底層還提供了GPU加速功能,所以一般實時性很強的應(yīng)用中主要使用SurfaceView而不是直接從View構(gòu)建,同時后面會講到的OpenGL中的GLSurfaceView也是從該類實現(xiàn)。
以上就對Android View類和Surface類的詳細介紹,希望能幫助Android開發(fā)的朋友,謝謝大家對本站的支持,后續(xù)繼續(xù)補充相關(guān)資料。
相關(guān)文章
Android 獲取內(nèi)外SD卡路徑幾種方法總結(jié)
這篇文章主要介紹了Android 獲得內(nèi)外SD卡路徑幾種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2016-12-12Android定時器實現(xiàn)定時執(zhí)行、重復(fù)執(zhí)行、定時重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式
今天小編就為大家分享一篇關(guān)于Android定時器實現(xiàn)定時執(zhí)行、重復(fù)執(zhí)行、定時重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12Android實戰(zhàn)教程第三篇之簡單實現(xiàn)撥打電話功能
這篇文章主要為大家詳細介紹了Android實戰(zhàn)教程第三篇之簡單實現(xiàn)撥打電話功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11詳解Android ViewPager2中的緩存和復(fù)用機制
最近接觸到豎向整頁滑動的需求,發(fā)現(xiàn)了viewpager2,viewpager2支持fragment,保留了viewpager的特性,下面這篇文章主要給大家介紹了關(guān)于ViewPager2中的緩存和復(fù)用機制的相關(guān)資料,需要的朋友可以參考下2021-11-11