如何在带有布局参数的TabHost底部添加视图?

时间:2012-08-27 16:00:51

标签: android layout admob android-tabhost

我想在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),但它位于标签视图的中间。我想把它放在底部,但我不能让布局参数工作

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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说得对。