TabHost:取消选中所有选项卡

时间:2012-07-23 15:02:20

标签: android android-layout

有没有办法取消选择TabHost中的所有元素。我想我可以制作一个存根标签,其宽度为0dp。这是一种方式吗?它是如何完成的 - 我如何将样式应用于一个特定的选项卡?

2 个答案:

答案 0 :(得分:1)

如果这是您使用Id的方法建议您为“假标签”创建自己的标签视图。

像这样的东西

private class TabView extends FrameLayout  {
    public TabView(Context c) {
        super(c);

        View indicator = new View(c);
        //Might even wanna go for 0 here?
        LayoutParams params = new FrameLayout.LayoutParams(1, 1);
        indicator.setLayoutParams(params);

        addView(indicator);
    }
}

然后按以下方式将其添加到TabHost:

    TabView fakeTab = new TabView(this, 0, "faketab");
    spec = tabHost.newTabSpec("about").setIndicator(fakeTab);
    tabHost.addTab(spec);

当您想要将所有标签显示为未选中时,您可以简单地让TabHost选择您的假标签。

答案 1 :(得分:1)

使标签拉开:

fakeTab.setVisibility(View.GONE);