在 Cocos2d-x 视图上显示横幅

Displaying a Banner over Cocos2d-x view

在我的 cocos2d-x 项目中按照 HeyZap website 上的说明进行操作时,我注意到横幅被添加到 FrameLayout 中,如下所示:

FrameLayout bannerWrapper = (FrameLayout) findViewById(R.id.banner_wrapper);

我使用 Android Studio 在布局文件夹中创建了一个 activity_main.xml 文件,并创建了一个简单的 FrameLayout,如下所示:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/banner_wrapper"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
</FrameLayout>

为了访问新创建的 'banner_wrapper' FrameLayout,我不得不调用 setContentView(R.layout.activity_main);在我的 OnCreate() 方法中。这确实显示了横幅,但也可能导致不显示 Cocos2dx 视图。有没有办法将我的 'banner_wrapper' 覆盖在原始 Cocos2dx 视图上?或者有更好的方法吗?

我设法通过完全跳过 activity_main.xml 文件并在代码中创建所有必要的视图来解决这个问题:

LinearLayout layout = new LinearLayout(activity);
int gravity= Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;
layout.setGravity(gravity);
activity.addContentView(layout, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
BannerAdView banner = new BannerAdView(activity);
layout.addView(banner);
layout.bringToFront();
banner.load();