当前位置: 移动技术网 > 移动技术>移动开发>Android > Android View类与SurfaceView类详解

Android View类与SurfaceView类详解

2019年07月24日  | 移动技术网移动技术  | 我要评论

        android游戏开发中主要的类除了控制类就是显示类,比较重要也很复杂的就是显示和游戏逻辑的处理。在j2me中可以通过display和canvas来实现显示,而android中处理显示的是view类。下面为大家简单介绍android.view.view和android.view.surfaceview。

       surfaceview是从view基类中派生出来的显示类,直接子类有glsurfaceview和videoview,可以看出gl和视频播放以及camera摄像头一般均使用surfaceview,到底有哪些优势呢? surfaceview可以控制表面的格式,比如大小,显示在屏幕中的位置,最关键是的提供了surfaceholder类,使用getholder方法获取,相关的有canvas  lockcanvas()、  canvas  lockcanvas(rect dirty)  、void  removecallback(surfaceholder.callback callback)、void  unlockcanvasandpost(canvas canvas) 控制图形以及绘制,而在surfaceholder.callback 接口回调中可以通过下面三个抽象类可以自己定义具体的实现(比如第一个更改格式和显示画面):

       abstract void  surfacechanged(surfaceholder holder, int format, int width, int height) ;

       abstract void  surfacecreated(surfaceholder holder) ;

       abstract void  surfacedestroyed(surfaceholder holder) ;

       对于surface相关的,android底层还提供了gpu加速功能,所以一般实时性很强的应用中主要使用surfaceview而不是直接从view构建,同时后面会讲到的opengl中的glsurfaceview也是从该类实现。

       以上就对android view类和surface类的详细介绍,希望能帮助android开发的朋友,谢谢大家对本站的支持,后续继续补充相关资料。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网