【问题标题】:Integrating Ads in a Game在游戏中集成广告
【发布时间】:2011-10-26 15:03:50
【问题描述】:

我有一个 2D 游戏,它有我的自定义 ViewPanel 来处理所有绘图(我没有 android 按钮元素,我的所有游戏控件都是在内部绘制/处理的)。

这是我的 main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent" android:layout_height="fill_parent">
</LinearLayout>

这是我活动的 onCreate() 主要代码:

    viewPanel = new ViewPanel(this);
    setContentView(viewPanel);

从此我的 ViewPanel 处理所有绘图/事件。

现在, 我想整合 Ads (Mobclix),我就是这样做的:

    setContentView(R.layout.mobclix_advertising_view);
    Mobclix.onCreate(this);

    adview_banner = (MobclixMMABannerXLAdView) findViewById(R.id.advertising_banner_view);
    adview_banner.addMobclixAdViewListener(this);
    adview_banner.setRefreshTime(30000);
    adview_banner.getAd();

但是!看来我可以在我的 ViewPanel"advertising_banner_view" 上设置内容视图,而不是两者。所以基本上要么我看到我的游戏绘图要么广告栏。

我怎样才能看到他们俩?

【问题讨论】:

    标签: android view panel mobclix


    【解决方案1】:

    试试这个:

    my_layout.xml

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent" android:layout_height="fill_parent">
    </FrameLayout>
    

    现在只需使用 my_layout 作为主布局,并在其上调用 addView 两次,一次使用 ViewPanel,一次使用 AdView。您可以设置广告视图的重力,使其浮动在屏幕上任何您想要的位置。

    【讨论】:

    • 我得到这个错误:android.view.InflateException: Binary XML file line #5: Error inflating class com.myGame.ViewPanel
    • 哦,抱歉,我以为您已将 ViewPanel 声明为实际的复合控件。我修改了答案。
    • 很抱歉提出一个菜鸟问题,但是“将您的视图面板分配给 LinearLayout”是什么意思?
    • 对不起,我的回答实际上是错误的。请查看我的更新。
    • 当我这样做时:LinearLayout mainLayout = (LinearLayout)findViewById(R.layout.game); mainLayout 为空。为什么?
    【解决方案2】:

    您可以这样做: 游戏.xml:

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="fill_parent" android:layout_height="fill_parent">
    <com.package.ViewPanel />
    <com.package.MobclixMMABannerXLAdView />
    </LinearLayout> 
    

    在您的代码中:

    setContentView(R.layout.game);
    

    您可以使用 findviewbyid 来获取这些视图。

    【讨论】:

    • 另外,我得到这个错误:android.view.InflateException: Binary XML file line #5: Error inflating class com.myGame.ViewPanel
    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-30
    • 1970-01-01
    相关资源
    最近更新 更多