Android画布游戏问题

时间:2011-02-27 11:19:10

标签: android canvas android-layout

我写了一个游戏,使用了android SDK示例月球着陆器的模板,但我在模板中发现了一个错误。经过多次尝试,我无法按照自己的意愿修复它。所以我将游戏模板改为Chris pruett的SpriteMethodTest http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest在这个模板中我遇到了一些问题。

问题: 在CanvasTestActivity.java onCreate()方法中: 代码使用:

初始化surfaceview

mCanvasSurfaceView = new CanvasSurfaceView(this); ... 的setContentView(mCanvasSurfaceView);

我想使用布局文件来获取我的surfaceview,所以我创建了一个这样的布局文件:

main.xml中

<?xml version="1.0" encoding="utf-8"?>

<me.codeand.xxx.CanvasSurfaceView
  android:id="@+id/gameview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"/>

我在oncreate()方法中更改了代码:

mCanvasSurfaceView =(CanvasSurfaceView)findViewById(R.id.gameview); 的setContentView(R.layout.main);

findViewById始终返回null!我不知道为什么!真的需要帮助!

BTW,如何使用以下方法在Android应用中添加admob广告: mCanvasSurfaceView = new CanvasSurfaceView(this); 的setContentView(mCanvasSurfaceView);

我在网上找不到任何样本:(

最诚挚的问候, czYang

1 个答案:

答案 0 :(得分:1)

您确定在setContentView(R.layout.main)之前致电findViewById吗?

要添加AdMob广告,最简单的方法是创建RelativeLayout,使用addContentView将其添加到窗口,然后使用Gravity.BOTTOM布局参数将admView中的AdView添加到相对布局的底部。