Android TabHost:取消选中所有选项卡

Android TabHost:取消选中所有选项卡,android,android-layout,Android,Android Layout,是否有方法取消选择TabHost中的所有元素。我想我可以制作一个短标签,宽度为0dp。这是一条路吗?如何完成-如何将样式应用于一个特定选项卡 如果这是您使用Id的方法,建议您为“假选项卡”创建自己的选项卡视图 像这样的 private class TabView extends FrameLayout { public TabView(Context c) { super(c); View indicator = new View(c);

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

如果这是您使用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选择您的假选项卡。

如果这是您使用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选择您的假选项卡。

要使选项卡伸展开:

fakeTab.setVisibility(View.GONE);

要使选项卡伸展开,请执行以下操作:

fakeTab.setVisibility(View.GONE);

这对我来说还不够清楚。你能用一个更实际的例子来说明吗?关于你的类构造函数,我必须写
TabView fakeTab=new TabView(_activity)_tabHost.addTab(_tabHost.newTabSpec(“假”).setIndicator(fakeTab)),它说:起因:java.lang.IllegalArgumentException:您必须指定一种创建选项卡内容的方法。是的,通常在.setIndicator()部分之后放置.setContent(Intent)。也许你必须为选项卡提供内容,你可以在那里设定意图,但要确保ontabchangedListenerOK中没有发生任何事情,让它正常工作,但现在这个假选项卡显示的空白宽度等于其他非假选项卡。是否有任何属性使选项卡以这种方式拉伸?嗯,也许您可以尝试更改选项卡本身的布局参数。放置这个.setLayoutParams(新的LayoutParams(0,0));在TabView里,我还不太清楚。你能用一个更实际的例子来说明吗?关于你的类构造函数,我必须写
TabView fakeTab=new TabView(_activity)_tabHost.addTab(_tabHost.newTabSpec(“假”).setIndicator(fakeTab)),它说:起因:java.lang.IllegalArgumentException:您必须指定一种创建选项卡内容的方法。是的,通常在.setIndicator()部分之后放置.setContent(Intent)。也许你必须为选项卡提供内容,你可以在那里设定意图,但要确保ontabchangedListenerOK中没有发生任何事情,让它正常工作,但现在这个假选项卡显示的空白宽度等于其他非假选项卡。是否有任何属性使选项卡以这种方式拉伸?嗯,也许您可以尝试更改选项卡本身的布局参数。放置这个.setLayoutParams(新的LayoutParams(0,0));在选项卡视图中。