`
soboer
  • 浏览: 1311679 次
文章分类
社区版块
存档分类
最新评论

【Android】View类详解 (游戏开发必备)

 
阅读更多


Android游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。

这里我们说下android.view.Viewandroid.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 接口回调中可以通过下面三个抽象类可以自己定义具体的实现,比如第一个更改格式和显示画面。



对于Surface相关的,Android底层还提供了GPU加速功能,所以一般实时性很强的应用中主要使用SurfaceView而不是直接从View构建,同时Android123未来后面说到的OpenGL中的GLSurfaceView也是从该类实现。


下面着重介绍View类:


以上是View实现的一些基本接口的回调方法,一般我们需要处理画布的显示时,重写onDraw(Canvas)用的的是最多的:


当然还有就是处理窗口还原状态问题(一般用于横竖屏切换),除了在Activity中可以调用外,开发游戏时我们尽量在View中使用类似。


在View中如果需要强制调用绘制方法onDraw,可以使用invalidate()方法,它有很多重载版本,同时在线程中的postInvailidate()方法将在Android游戏开发之旅六中的 自定义View完整篇讲到。


转载自: http://www.android123.com.cn/androidkaifa/541.html



分享到:
评论

相关推荐

    android开发入门与实战(下)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    android开发入门与实战(上)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    《Google Android开发入门与实战》.pdf

     本书内容上涵盖了用android开发的大部分场景,从android基础介绍、环境搭建、sdk介绍、market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个android平台下的完整综合实例及源代码分析,...

    Google.Android开发入门与实战

     《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合...

    Android面试题汇总

    2.BAT Android面试20题详解 3.设计模式面试专题及答案 4.2019Android面试 常见58题 5.初级面试专题(中小厂) 7.设计模式面试专题 8.数据结构面试专题 9.多线程面试专题及答案 10.网络编程面试专题 11.腾讯Android...

    Google Android开发入门与实战的代码

    Google Android开发入门与实战的代码 1章 掀起你的盖头来——初识Android. 1 1.1 认识Android 1 1.2 Android的背景 2 1.2.1 Android的历史 2 1.2.2 Android的发展 2 1.3 我的Android我做主 2 ...

    总结整理的Android面试Java基础知识点面试资料精编汇总文档资料合集.zip

    BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...

    收集整理的Android【面试】资料精编汇总(25个).zip

    BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...

    Android+JAVA【面试题】精编汇总(25份).zip

    BAT Android面试20题详解.docx Java基础面试题.pdf Java;基础知识点面试专题.docx java;深入源码级的面试题.docx JVM面试专题及答案.pdf view面试专题.docx 中高级专题(View+Handler+Binder).docx 初级面试专题...

    Android、java面试技巧及常见性面试题型精编汇总.zip

    腾讯Android社招面试源码相关11题+原理详解 线程、多线程和线程池面试专题 Android面试中常被问基础知识点汇总宝典 初级面试专题(中小厂) 混合跨平台开发面试题 设计模式面试专题及答案 中高级专题(View+Handler+...

Global site tag (gtag.js) - Google Analytics