2012-07-24 65 views
0

我需要偶尔显示选项卡内容,否则该区域必须填充“非tabhost”数据。但是,选项卡应该是可见的,并且当用户单击任何选项卡时“非tabhost”必须隐藏并且必须显示适当的选项卡内容。如何使TabHost中的所有选项卡未被选中

这是连接到假标签创建?

给出一个创建TabHost且未选中标签的例子。 谢谢。

+1

那么为什么要使用tabHost?使用按钮,而不是 – 2012-07-24 09:30:50

+0

多数民众赞成我该怎么办 - 谢谢 – user1462299 2012-07-24 10:03:32

回答

3

我通常会做的是,添加额外的Tab并使用setVisibility(View.GONE)来隐藏它。这将只隐藏用户的选项卡按钮,并且Tab仍然在那里,在“背景”中,并且您可以通过使用tabHost.setCurrentTab(0)以编程方式选择它。我通常也保留这个标签作为第一个。

+0

你可以更具体吗?我如何获得这些标签isntantiated?如何检索应该隐藏的标签? – user1462299 2012-07-24 09:55:14

+0

你已经有一个tabhost的权利?..这将是相同的这一个... – 2012-07-24 09:58:33

+0

看看这篇文章http://stackoverflow.com/questions/5026653/how-to-hide-a-tab- in-android-tab-layout查看如何隐藏单个选项卡。通过选择隐藏标签..所有其他标签将保持未选中.. – 2012-07-24 09:59:52

1

1.复印要标签的代码使未选择

tabLayout.setSelectedTabIndicatorColor(Color.WHITE); 
        tabLayout.setTabTextColors(Color.BLACK, Color.BLACK); 

2.Override上Tabselected监听并粘贴以下代码

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override`enter code here 
      public void onTabSelected(TabLayout.Tab tab) { 
       tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#EB1C23")); 
       tabLayout.setTabTextColors(Color.BLACK, Color.RED); 
       viewPager.setCurrentItem(position); 
} 


      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 

      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 
       tabLayout.setSelectedTabIndicatorColor(Color.parseColor("#EB1C23")); 
       tabLayout.setTabTextColors(Color.BLACK, Color.RED); 
       viewPager.setCurrentItem(position); 
      } 
     }); 
相关问题