0

TabHost の下部に Adview を追加したいと考えています。しかし、私はパラメータを把握できません

final TabHost tabHost = getTabHost();
        AdView adView = new AdView(this, AdSize.BANNER, "my Id");
        adView.loadAd(new AdRequest());
    tabHost.addView(adView,???layoutparams????);

        tabHost.addTab(tabHost
                .newTabSpec("tab1")
                .setIndicator("Documents"

編集: 広告は正常にtabHost.addView(adView)表示されていますが、タブ ビューの中央にあります。一番下に配置したいのですが、レイアウトパラメータが機能しません

4

2 に答える 2

0

タブ内に広告が必要だと仮定して、カスタム タブ レイアウト (your_tab_layout.xml) を定義します。

// get layoutinflater
LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

// inflate your layout into a View
View tabView = LayoutInflater.inflate(R.layout.your_tab_layout);

// get your AdView from the layout
AdView adView = tabView.findViewById(R.id.your_adview_id);

// Add the tab
TabHost.newTabSpec("tab1").setIndicator(tabView).setContent(intent);

@Scottに同意します。これは奇妙に思え、質問を誤解している可能性があります。タブの下に広告が必要な場合は、この回答を無視してください。@Scott は正しいです。

于 2012-08-27T16:23:51.113 に答える
0

AdView を TabHost に追加する必要はないと思います。ドキュメントによると、TabHost ウィジェットには、タブ ラベルのセットと、各タブのコンテンツを表示するための FrameLayout のみを含める必要があります。代わりに、TabHost 自体が垂直 LinearLayout (または同様のもの) 内にあることを確認する必要があると思います。その後、TabHost ではなく、その LinearLayout の下部に AdView を追加できます。

編集: 既に試した LayoutParams は何ですか? FrameLayout.LayoutParams またはその他のタイプを使用してみましたか? その個々のタブのルート レイアウト要素は何ですか?

于 2012-08-27T16:16:10.203 に答える