上一节中讲了如何在SurfaceView中添加Button、TextView等组件,基本已经成功了。但如果是在开发Android游戏的话,你肯定不希望我们的SurfaceView只占了中间一部分,就像播放电影一样,而是想让它占据尽可能多的空间,也就是全屏显示。

       首先贴一下截图,大家能够更直观的看到显示效果,你是不是也有想改的冲动呢?

SurfaceView中添加组件

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

SurfaceView添加组件后全屏显示

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

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

XML/HTML代码
  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.     
  21.         <Button android:layout_width="wrap_content"  
  22.                 android:layout_height="wrap_content"  
  23.                 android:layout_alignParentBottom="true"  
  24.                 android:layout_toRightOf="@id/button1"  
  25.                 android:text="Himi Button_2"  
  26.                   android:id="@+id/button2"/>  
  27.                      <TextView  
  28.             android:id="@+id/textview"  
  29.             android:layout_width="fill_parent"  
  30.             android:layout_height="fill_parent"  
  31.             android:text="This is Himi"  
  32.             android:textSize="32sp"  
  33.             android:textColor="#00FF00"  
  34.             android:gravity="center_horizontal"/>  
  35.     </RelativeLayout>  
  36. </LinearLayout>  

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

本文发布:Android开发网
本文地址:http://www.teaching4real.com/android/game/223.html
2012年9月29日
发布:鸡啄米 分类:Android游戏开发 浏览: 注册送白菜网:0