1

私はこれを持っています:

private void setupAds() {
    AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58");
    LinearLayout layout = super.root;
    layout.addView(adView);

    AdRequest request = new AdRequest();
    request.setTesting(true);
    adView.loadAd(request);

    super.root.requestLayout();
}

広告が読み込まれると、アプリケーションの下部が覆われます。向きを変えると、すべてが正しく再レンダリングされます。これは、WebViewが適切なサイズであることを意味しているに違いありませんが、Sencha Touchはサイズの変更を尊重していませんよね?

これを修正するにはどうすればよいですか?

4

2 に答える 2

1

AdView をプログラムで追加する場合、通常は、その目的のために特別に作成してサイズを設定した ViewGroup に追加します。Sencha Touch が何であるかはわかりませんが、super.root がアクティビティ全体の ViewGroup である場合、表示はルート ビューに指定されたレイアウトのタイプに完全に依存します。

レイアウトに AdViewParent を作成し、それに AdView を追加することをお勧めします。

于 2013-03-10T10:09:42.943 に答える
0

トリックは、adView をsuper.rootレイアウトではなく WebView ( appViewDridGap) のレイアウトに配置することです。画面の下部にある水平方向のバナーのコードは次のとおりです。

private void setupAds() {
    AdView adView = new AdView(this, AdSize.BANNER, "a15138083566f58");
    //         
    RelativeLayout layout = new RelativeLayout(this);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
                RelativeLayout.LayoutParams.MATCH_PARENT,
                AdSize.BANNER.getHeightInPixels(this));
    rparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    layout.addView(adView, params);
    // 
    appView.addView(layout, new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT));
    request adRequest = new AdRequest();
    adView.loadAd(request);
}

この方法を使用すると、admob バナーによるコンテンツの重複を避ける必要があります。あなたはapp.scssでそれを行うことができます。

#bottomitemid{
   padding-bottom: 50px;
}
于 2013-09-04T18:15:38.553 に答える