0

我正在尝试在 cocos2D 游戏中放置 mobclix 广告横幅。我的广告横幅显示在 openGL 视图的顶部。但是,我不知道如何将它放置在我们想要的屏幕底部。来自 mobclix 的示例显示了将重力设置为底部的 LinearLayout 的使用。我在 GameActivity 中尝试了这个,这是启动时的主要活动:

    adview_banner = new MobclixMMABannerXLAdView(this);
    adview_banner.addMobclixAdViewListener(this);

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    params.gravity = Gravity.BOTTOM;

    this.addContentView(adview_banner, params);

    adview_banner.bringToFront();
    adview_banner.getAd();
    adview_banner.setRefreshTime(30000);

无论我在这里做什么,横幅总是显示在屏幕顶部。任何帮助将不胜感激。

4

2 回答 2

2

好的!我想我终于拥有了!这些布局起初以编程方式很棘手,但它们确实与 xml 中的示例相匹配。我只需要将横幅嵌入到布局对象中并将其发送到该布局的底部。

在主要活动中:

    @Override
public void onStart() {
    super.onStart();

    RelativeLayout layout = new RelativeLayout(this);

    adview_banner = new MobclixMMABannerXLAdView(this);
    adview_banner.addMobclixAdViewListener(this);

    RelativeLayout.LayoutParams childParams = new RelativeLayout.LayoutParams(320, 50);
    childParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    layout.addView(adview_banner, childParams);

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
    this.addContentView(layout, params);

    //adview_banner.bringToFront();
    adview_banner.getAd();
    adview_banner.setRefreshTime(30000);
}

现在唯一的问题是我在“webcore”的 Logcat 上收到“在第一个布局错误后无法获取 viewWidth”。并且广告横幅显示“发生错误。单击此处了解更多详细信息。”

我想我会就此咨询 Mobclix 支持团队。

于 2011-02-01T02:19:33.893 回答
-2

使用绝对布局。

    android:layout_width="40px"
    android:layout_marginRight="5px"
    android:layout_height="40px"

ETC

线性布局只能为每个单独的孩子设置重力。

有用吗?

于 2011-01-31T08:11:33.237 回答