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"

Linear Layouts は、個々の子にのみ重力を設定できます。

役に立ちましたか?

于 2011-01-31T08:11:33.237 に答える