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

我认为您不应该将 AdView 添加到 TabHost。根据文档,TabHost 小部件应该只包含一组选项卡标签和一个用于显示每个选项卡内容的 FrameLayout。我认为您应该确保您的 TabHost 本身位于垂直 LinearLayout (或类似)内,然后您可以将 AdView 添加到该 LinearLayout 的底部而不是 TabHost。

编辑:您已经尝试过哪些 LayoutParams?您是否尝试过使用 FrameLayout.LayoutParams 或任何其他类型?该单个选项卡的根布局元素是什么?

于 2012-08-27T16:16:10.203 回答
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 回答