2012-07-24 89 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); 
      } 
     }); 
相關問題