Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。
原文地址:http://blog.csdn.net/xiaominghimi/archive/2010/12/27/6100602.aspx
各位童鞋请你们注意:surfaceview中确实有 onDraw这个方法,但是surfaceview不会自己去调用!!!
而我代码中的ondraw 也好 draw 也好,都是我自己定义的一个方法。。。放在线程中不断调用的,一定要注意!!
上一篇我们已经可以在同一界面中既显示我们的surfaceview和button、textview等组件,那么基本算是成功了,但是身为游戏开发人员,如果不是想故意要这种类似电影形式的展现方式(我们的surfaceview在中间 - -.很想播放电影似的。。),是绝对不允许游戏的分量只是占了中间那么一部分,肯定需要全屏显示,别的组件只是一个配角的角色。那么下面先上一张截图看下为什么修改与调整。
(图1)
看到我们画出来的字体了吧,很悲剧被覆盖了!只要有button就会有一块长条,即使我们修改button中布局的颜色也只是把长条的颜色变成白色,当然好看是好看了,但是仍旧遮挡我们的字体!这可不是我们想要的结果。我们想要的效果应该是下图这样的:
(图2)
娃哈哈,这效果就对啦,我们的view占满全屏,而组件本身才会对我们的view中的内容有遮挡,不会多出一些无用的长条遮挡....
当时虽然想的方法就是布局xml的问题,我一开始想在我们xml中定义的surfaceview中直接添加按钮,但是view不能添加view!所以没办法,就想到是否是布局的问题。经过多次尝试才终于成功做到。
xml 修改的不大,主要将之前的线性布局改成了相对布局。虽然改动不大,但是也真的费了不少时间去调整、这样一来大家就可以在自己的游戏Surfaceview中随意添加组件啦,娃哈哈~~~
源码在上一篇已经给出下载地址,这里也只是对xml的修改大家需要可以去下载上一篇的源码,将xml调整即可、
(推荐大家订阅本博客,因为咱的更新速度可是很快的~娃哈哈)
分享到:
相关推荐
3. **Android Studio**: 这是Android开发的集成开发环境(IDE),包含了许多辅助功能,如代码编辑、调试、性能分析等。 4. **Activity与布局**: 游戏界面的创建通常涉及Activity,它是Android应用的基本组件,负责...
在Android开发中,有时我们需要创建具有独特设计和交互的对话框(Dialog)和提示信息(Toast),以提供更丰富的用户体验。本主题将深入探讨如何在SurfaceView中实现透明且自定义的Dialog和Toast,以及相关的源码分析...
【基于Android的炸弹人游戏毕业设计】是一个涵盖了移动应用开发、游戏编程以及Android平台实践的综合性项目。这个设计包括了完整的源代码实现和一份详细的毕业论文,为学习者提供了深入理解Android游戏开发的机会。 ...
Android提供了Canvas和SurfaceView等组件,用于绘制游戏画面。开发者可以利用它们实现飞机的移动、碰撞检测、子弹轨迹以及背景的滚动效果,以创造出流畅且具有动态感的游戏体验。 此外,论文可能还会涉及【游戏逻辑...
如果游戏需要访问设备的麦克风或存储,必须在AndroidManifest.xml中声明相应的权限。 9. **性能优化**: 在Android 2.2上,内存和CPU资源相对有限,开发者需要关注代码的效率,如避免不必要的对象创建,使用合适...
SurfaceView是Android中用于高性能图形渲染的组件,它有自己的渲染线程,能够提高游戏性能并减少画面撕裂。 4.2 API兼容性 源码在API 1.6以上版本运行良好,说明开发者考虑到了向下兼容性,可能使用了条件编译或者...
在Android开发中,UI构建通常使用XML布局文件,开发者可以创建各种视图组件如按钮(Button)、文本框(EditText)和列表视图(ListView)。此示例可能讲解了如何自定义布局、处理用户事件(如点击事件)以及如何动态...
4. **布局设计**: 游戏界面的设计需要用到XML布局文件,用于定义各个组件的位置和样式。对于俄罗斯方块,你需要创建一个可滚动的游戏区域,显示当前的方块、得分、等级等信息。 5. **Canvas与SurfaceView**: 为了...
在Android系统中,贪吃蛇通常作为一个简单的示例项目,用于教学和展示Android游戏开发的基础知识。以下将深入探讨这款Android贪吃蛇游戏的源码相关知识点。 1. **Android Studio**:作为Android应用开发的主要集成...
在Android开发中,`MapView`是Google Maps Android API提供的重要组件,它允许开发者在应用程序中嵌入交互式地图。这个`MapView`地图测试是开发者在实际项目中进行地图功能调试和展示的一个常见实践。下面我们将深入...
1.5 Android应用结构分析 24 1.5.1 创建一个Android应用 24 1.5.2 自动生成的R.java 26 1.5.3 res目录说明 27 1.5.4 Android应用的清单文件: AndroidManifest.xml 28 1.5.5 应用程序权限说明 29 ...
本篇将详细阐述Android开发中的关键知识点,包括Android系统架构、UI设计、绘图技术以及常用框架的应用。 1. **Android系统架构**: Android系统由多个层次组成,包括Linux内核、硬件抽象层(HAL)、系统库、运行...
在Android平台上,手写输入是一种常见的输入方式,尤其对于不熟悉拼音或键盘输入的用户,如老年人或非汉语使用者。本资源"Android手机手写输入源码"提供了一个完整的工程,用于实现Android设备上的手写输入功能。...
SurfaceView和GLSurfaceView是专门用于高性能图形渲染的视图组件,通常用于游戏和复杂动画。它们提供了独立于主线程的绘制表面,有助于避免UI阻塞。 8. **动画** Android提供了多种动画机制,如Tween Animation...
Android画布(Canvas)是Android系统中用于图形绘制的核心组件,它是Android图形系统的重要组成部分,允许开发者在Bitmap、SurfaceView或者其他可绘图对象上绘制各种形状、文本和图像。CanvasTest APK源码提供了对...
《eoeAndroid特刊》系列是针对Android技术的深度探讨和知识分享的集合,涵盖了从基础到高级的各种主题。从2011年9月5日的描述来看,这个系列一共包含了20期,每期都专注于不同的Android专题。下面我们将深入探讨其中...
- 在Web开发中,可以使用JavaScript库如`Fancybox`或`Lightbox`,它们提供了丰富的样式和交互功能。 - 移动端开发,Android有`Glide`或`Picasso`,iOS有`SDWebImage`,它们都支持图片缓存和异步加载。 - 桌面应用...