如何在Android选项卡布局中隐藏选项卡?

9

我有一个包含3个标签页的选项卡布局。我想在运行时添加第四个选项卡,并在一段时间后隐藏此选项卡。请告诉我如何在Android中隐藏一个选项卡。

2个回答

42

从资源中获取 TabHost

TabHost  tabHost = (TabHost)findViewById(android.R.id.tabhost);

然后运行时使用它

tabHost.getTabWidget().getChildAt(3).setVisibility(View.GONE);

假设你想要隐藏第四个选项卡。(因此使用3


谢谢,这对我有用。我的初始方法使用了removeViewAt(...),它适用于2.2及以上版本,但在2.1上崩溃了。 - PJL
请注意,您应该使用getChildTabViewAt而不是getChildAt。 - user486646
两者看起来表现相同,有什么区别吗? - Paul Richter
1
TabLayout 和 Tab host 是两个不同的东西。 - Cyph3rCod3r

3

我正在构建一个应用程序,该应用程序在活动中使用FragmentPagerAdapter作为SectionsPagerAdapter。这个活动是由AS生成的,它的布局有一个带有一些TabItemTabLayout

如果变量hidefalse,我想要隐藏其中一个标签页。然后我使用了以下代码:

Toolbar toolbar = findViewById(R.id.sectionBar);
if(!hide) {
    TabLayout.Tab tab = tabLayout.getTabAt(2);
    if(tab!=null) {
        tabLayout.removeTab(tab);
    }
}

我知道remove不是隐藏,但这是我的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接