Android View类与SurfaceView类详解

概述       Android游戏开发中主要的类除了控制类就是显示类,比较重要也很复杂的就是显示和游戏逻辑的处理。在J2ME中可以通过Display和Canvas来实现显示,而Android中处理显示的是V

        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开发的朋友,谢谢大家对本站的支持,后续继续补充相关资料。

总结

以上是内存溢出为你收集整理的Android View类与SurfaceView类详解全部内容,希望文章能够帮你解决Android View类与SurfaceView类详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1148447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存