本站文章均为 李华明Himi 原创,转载务必在明显处注明:
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/308.html

    各位童鞋请你们注意:surfaceview中确实有 onDraw这个方法,但是surfaceview不会自己去调用!!!

    而我代码中的ondraw 也好 draw 也好,都是我自己定义的一个方法。。。放在线程中不断调用的,一定要注意!!

上一篇我们已经可以在同一界面中既显示我们的surfaceview和button、textview等组件,那么基本算是成功了,但是身为游戏开发人员,如果不是想故意要这种类似电影形式的展现方式(我们的surfaceview在中间 - -.很想播放电影似的。。),是绝对不允许游戏的分量只是占了中间那么一部分,肯定需要全屏显示,别的组件只是一个配角的角色。那么下面先上一张截图看下为什么修改与调整。

看到我们画出来的字体了吧,很悲剧被覆盖了!只要有button就会有一块长条,即使我们修改button中布局的颜色也只是把长条的颜色变成白色,当然好看是好看了,但是仍旧遮挡我们的字体!这可不是我们想要的结果。我们想要的效果应该是下图这样的:

娃哈哈,这效果就对啦,我们的view占满全屏,而组件本身才会对我们的view中的内容有遮挡,不会多出一些无用的长条遮挡....

当时虽然想的方法就是布局xml的问题,我一开始想在我们xml中定义的surfaceview中直接添加按钮,但是view不能添加view!所以没办法,就想到是否是布局的问题。经过多次尝试才终于成功做到。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. >
  7. <RelativeLayout
  8. android:layout_width="fill_parent"
  9. android:layout_height="wrap_content"
  10. android:layout_weight="1" >
  11. <com.himi.MySurfaceView android:id="@+id/view3d"
  12. android:layout_width="fill_parent"
  13. android:layout_height="fill_parent"/>
  14. <Button
  15. android:layout_width="wrap_content"
  16. android:layout_height="wrap_content"
  17. android:layout_alignParentBottom="true"
  18. android:text="Himi Button_1"
  19. android:id="@+id/button1"/>
  20. <Button android:layout_width="wrap_content"
  21. android:layout_height="wrap_content"
  22. android:layout_alignParentBottom="true"
  23. android:layout_toRightOf="@id/button1"
  24. android:text="Himi Button_2"
  25. android:id="@+id/button2"/>
  26. <TextView
  27. android:id="@+id/textview"
  28. android:layout_width="fill_parent"
  29. android:layout_height="fill_parent"
  30. android:text="This is Himi"
  31. android:textSize="32sp"
  32. android:textColor="#00FF00"
  33. android:gravity="center_horizontal"/>
  34. </RelativeLayout>
  35. </LinearLayout>

xml 修改的不大,主要将之前的线性布局改成了相对布局。虽然改动不大,但是也真的费了不少时间去调整、这样一来大家就可以在自己的游戏Surfaceview中随意添加组件啦,娃哈哈~~~

源码在上一篇已经给出下载地址,这里也只是对xml的修改大家需要可以去下载上一篇的源码,将xml调整即可。

(推荐大家订阅本博客,因为咱的更新速度可是很快的~娃哈哈)

【Android游戏开发之七】(游戏开发中需要的样式)再次剖析游戏开发中对SurfaceView中添加组件方案!...相关推荐

  1. Android Studio 4.1.2 自定义 APP 启动图标样式步骤【APP开发之入门四】

    目录 一.设计启动图标 二.总结 三.参考资料 本文内容:为自己的 APP 设计启动自定义图标. 一.设计启动图标 准备一张 png 格式的图片,复制下来. 粘贴到 mipmap 目录下. 点击[OK ...

  2. 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/306.html - ...

  3. 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!

     李华明Himi 原创,转载务必在明显处注明: 转载自 [黑米GameDev街区] 原文链接:  http://www.himigame.com/android-game/306.html 很多童鞋说 ...

  4. 【Android游戏开发之六】在SurfaceView中添加组件!!!!并且相互交互数据!!!!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/306.html   ...

  5. html 中设置样式方式,在html元素中设置css样式的方式是什么

    如果我们要在HTML元素中设置CSS样式,那么我们就需要在元素中设置"id" 和 "class"选择器. (推荐教程:CSS教程) 下面我们来分别说一下id选择 ...

  6. Chrome中输入框默认样式移除

    Chrome中输入框默认样式移除 在chrome浏览器中会默认给页面上的输入框如input.textarea等渲染浏览器自带的边框效果 IE8中效果如下: Chrome中效果如下:   这在我们未给输 ...

  7. html中设置字体字型,html中 如何在font中设置字体样式(粗体斜体等)

    html> 字体加粗 用<b>加粗字体:加粗 用<strong>加粗字体:加粗 用CSS font-weight 加粗 normal(400), bold(700)    ...

  8. html中margin居中样式,利用margin属性将一个div水平居中将

    div+css,图片怎么设置在DIV中垂直居中? 图片大小不固定,想让图片自动垂直居中,应该怎么设置?想实现类似在表div+css,图片设置在DIV中垂直居中: 方法一: 思路:利用text-alig ...

  9. 【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/331.html 之 ...

最新文章

  1. 打开快手,体验流畅的单目三维手势技术
  2. NET Core微服务之路:自己动手实现Rpc服务框架,基于DotEasy.Rpc服务框架的介绍和集成...
  3. HTML5中各种标签总结(多媒体标签)
  4. mysql存储过程while 遍历游标
  5. xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
  6. python做abaqus后处理_python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。...
  7. Linuxcurl命令参数详解
  8. vert.x_选择Vert.x的3个理由
  9. 【Linux学习笔记】用nc实现两台主机间的文件传输(不需要输密码)
  10. java学习(156):反序列化
  11. 小凡做蛋糕(Python)
  12. Spring Security系列之Spring Social实现微信社交登录(九)
  13. ASP与ActiveX控件交互实战(一)
  14. 【VBA】获取当前工作表的用户名
  15. 数学基础(0)-- 高等数学、概率论与数理统计
  16. Solaris系统root用户无法直接登录
  17. 黑苹果 电脑关机是因为发生了问题_能量报 | 苹果部分产品免费保修4年 | 最诚实的手机厂商...
  18. MATLAB中log算子处理图像
  19. omnet++ 中tictoc10-12学习笔记
  20. arccos用计算机,arccos(arccos在线计算器)

热门文章

  1. 关于XP进程问题(转载)
  2. ADO.NET 2.0 中的架构
  3. 使用 .NET 框架轻松开发完美的 Web 窗体控件
  4. 谈一次单元测试驱动代码重构
  5. DllMain中不当操作导致死锁问题的分析--加载卸载DLL与DllMain死锁的关系
  6. 【Qt】Qt再学习(九):并发 QtConcurrent、QFuture、QFutureWatcher
  7. Qt中文手册 之 QHeaderView
  8. Linux简单的颜色设置
  9. 魔兽怀旧服怎么找不到服务器,魔兽世界怀旧服无法连接服务器怎么解决 服务器连接不上解决方法...
  10. mysql 按照范围选择_选择MySQL范围内的特定行?