如何在SurfaceView中添加广告??这个问题我之前在google和百度里找过,但是没有找到答案。我心里想,难道这个问题没有人碰过吗?我开始找之前我以为这个问题很快就能找到答案的。但是结果没有那么顺利。。。。
首先我为什么会出现这样的问题呢?因为之前一直在开发Android应用,现在转成Android的游戏的开发(学习中)。在开发应用一般都是用xml进行布局的,但我第一个游戏开发过程时我没有用xml进行布局。可能是因为开始学游戏开发的时候基本上都是是看《Android2.0 游戏开发实战宝典》来开发,完全参考该书去写代码的。书中是直接用GameView来画页面,代码如下:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//全屏
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN ,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(new GameView(this));
}
像上面的代码这样来画页面(setContentView方法设置SurfaceView)的话,我真没不到怎么加广告,难道还要画一个广告出来?(呵呵。。) 平时用果合添加广告的时候都是在xml中添加Layout(id=adLayout)。直接设置了SurfaceView到contentView的话那么可以怎么样定义adLayout呢?
最后通过在QQ群中问了下才发现自己方向是完全错误的(可能也是受到《Android2.0 游戏开发实战宝典》书的影响,我觉得该书写到非常好,起码我看完了后了解很多开发游戏的方法与技巧)。其实应该是在xml布局中直接调用SurfaceView。真的不开发游戏也不知道原来可以这样。。因为开发Android应用一般很少使用SurfaceView,起码我自己开发了两三个应用也没有使用过SurfaceView。。真的说来惭愧。。后来就知道了如何用xml布局添加SurfaceView,代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <rbase.app.hitshrew.view.GameView android:id="@+id/shrew_gameview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <LinearLayout android:id="@+id/adLayout" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:layout_width="320px" android:layout_height="wrap_content" /> </LinearLayout>