2012-04-20 103 views
2

我現在正在使用Android TabWidget。我建立這個TabWidget基於http://mobileorchard.com/android-app-development-tabbed-activities/
我已經添加到TabWidget的背景,
但顯然選定的選項卡和按下的選項卡的突出顯示,始終可見,我不能關閉它。Android:如何刪除選定的選項卡突出顯示顏色和按TabWidget上的突出顯示

這是圖片(抱歉不能直接添加圖片,因爲仍然是一個新手)。 :
1.默認選中的選項卡:http://postimage.org/image/9ryed6w5b/
2.按下標籤:http://postimage.org/image/gwg7m83en/

我要的是默認選中的標籤顏色和上壓片的顏色是不可見或關閉,所以圖像背景將完全顯示,不被這些顏色阻擋。

任何迴應將不勝感激。謝謝:)

代碼:

public void onCreate(Bundle savedInstanceState) { 
     //hide title bar 
     BasicDisplaySettings.toggleTaskBar(EpolicyMainActivity.this, false); 
     //show status bar 
     BasicDisplaySettings.toggleStatusBar(EpolicyMainActivity.this, true); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.epolicy); 
     TabHost tabHost=(TabHost)findViewById(R.id.tabHost); 
     tabHost.setup(); 
     tabHost.getTabWidget().setBackgroundColor(0); 
     tabHost.getTabWidget().setBackgroundResource(R.drawable.epolicy_menu_bar);  

     TabSpec spec1=tabHost.newTabSpec("Tab 1"); 
     spec1.setContent(R.id.tab1); 
     spec1.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_home)); 

     TabSpec spec2=tabHost.newTabSpec("Tab 2"); 
     spec2.setContent(R.id.tab2); 
     spec2.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_nab)); 

     TabSpec spec3=tabHost.newTabSpec("Tab 3"); 
     spec3.setContent(R.id.tab3); 
     spec3.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_contact)); 

     TabSpec spec4=tabHost.newTabSpec("Tab 4"); 
     spec4.setContent(R.id.tab4); 
     spec4.setIndicator("",getResources().getDrawable(R.drawable.epolicy_menu_agen)); 


tabHost.addTab(spec1); 
tabHost.addTab(spec2); 
tabHost.addTab(spec3); 
tabHost.addTab(spec4); 

回答

18

我添加此最後的作品:

tabHost.getTabWidget().getChildTabViewAt(0).setBackgroundDrawable(null); 
tabHost.getTabWidget().getChildTabViewAt(1).setBackgroundDrawable(null); 
tabHost.getTabWidget().getChildTabViewAt(2).setBackgroundDrawable(null); 
tabHost.getTabWidget().getChildTabViewAt(3).setBackgroundDrawable(null); 
tabHost.setCurrentTab(0); 
+6

+1提供一個答案,即使沒有人可以幫助你o___o – 2012-05-01 07:13:31

1

如果使用TabLayout對象,然後躲在指標可以如下實現:

tabLayout.setSelectedTabIndicatorColor(getResources().getColor(R.color.transparent, null)); 

乾杯。

+1

問題請注意,.getColor被depricated和CompatContext.getColor應使用: 'tabLayout.setSelectedTabIndicatorColor(ContextCompat.getColor(這一點,R.color .transparent));' – Tommie 2015-12-10 20:45:03