java - 在 Canvas 上展示广告

标签 java android canvas admob

现在我这样调用我的 gamecanvas:

GameCanvas gameCanvas;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    gameCanvas = new GameCanvas(getApplicationContext());
    gameCanvas.setBackgroundColor(Color.DKGRAY);
    setContentView(gameCanvas);
}

在我的 main.xml 中我得到了

`<com.google.android.gms.ads.AdView android:id="@+id/adView"
                                       android:layout_width="wrap_content"
                                       android:layout_height="wrap_content"
                                       ads:adUnitId="ca-app-pub-ID"
                                       ads:adSize="BANNER"/>`

如果我将 contentView 设置为我的 main.xml,我可以获得一个添加显示

        AdView adView = (AdView) this.findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().addTestDevice("DEVICE ID").build();
    adView.loadAd(adRequest);

那么如何在 Canvas 上添加 admob 横幅广告呢?

编辑:

如果我添加

<mb.jet.game.GameCanvas android:id="@+id/vMain"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content" />

到我的 xml 我得到错误

无法启动 Activity ComponentInfo{mb.jet.game/mb.jet.game.MyActivity}:android.view.InflateException:二进制 XML 文件第 12 行:错误膨胀类 mb.jet.game.GameCanvas

最佳答案

这是我会做的。将您的游戏 Canvas 放入 fragment 中。通过 FrameLayout 将 fragment 动态添加到 Activity 中。将 FrameLayout 放在 RelativeLayout 中。将 Admob xml 内容也放在 relativelayout 中。这一切都变得简单了,因为您可以相对于您的广告定位您的游戏 Canvas 。我假设您的 gamecanvas 是 GLSurfaceView(可能是错误的)?不管怎样,您都可以使用 xml 创建 View 。

完成所有操作后,将以下属性添加到您的 admob xml 引用中......

android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"

添加到你的框架布局

android:layout_above ="@+id/adView"

您还可以使用 addContentView 将 View 添加到您的布局,但如果您问我,最好使用 fragment 。 =)

关于java - 在 Canvas 上展示广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127534/

相关文章:

java - 如何通过 ListView Item 链接到网站

java - 在 Android 上禁用自动布局更改

android - xml android中的Z顺序

java - N个元素的一维数组是否需要与2D[m][n]相同的内存量,m*n=N

java - 如何使用 MouseListener 查找网格中的特定单元格

java - 在java中查找字符串中的元音,然后打印数量

android - Android 库中的 Firebase 依赖项 : Cannot invoke method get() on null object

java - 如何在 Canvas 中自由移动?

javascript - 我如何知道 HTML5 Canvas 的渲染何时完成?

java - 从 java servlet 提供 png 不显示