在 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();
在我的 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();