2015-12-30 292 views
2

我正在使用TabHost作爲選項卡欄。下面是添加選項卡的代碼:在Android中更改選項卡欄選定的選項卡顏色

// Create Intents to launch an Activity for the tab (to be reused) 
intent = new Intent().setClass(this, Tab1.class); 

spec = tabHost.newTabSpec("First").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno)) 
       .setContent(intent); 

//Add intent to tab 
tabHost.addTab(spec); 

/************* TAB2 ************/ 
intent = new Intent().setClass(this, Tab2.class); 
spec = tabHost.newTabSpec("Second").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno)) 
       .setContent(intent); 
tabHost.addTab(spec); 

/************* TAB3 ************/ 
intent = new Intent().setClass(this, Tab3.class); 
spec = tabHost.newTabSpec("Third").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno)) 
       .setContent(intent); 
tabHost.addTab(spec); 

intent = new Intent().setClass(this, Tab4.class); 
spec = tabHost.newTabSpec("Fourth").setIndicator("",getResources().getDrawable(R.drawable.transaction_refno)) 
       .setContent(intent); 
tabHost.addTab(spec); 

tabHost.getTabWidget().setLeftStripDrawable(color.black); 
tabHost.getTabWidget().setRightStripDrawable(color.black); 
tabHost.getTabWidget().setStripEnabled(false); 

tabHost.getTabWidget().setCurrentTab(0); 
tabHost.getTabWidget().setDividerDrawable(null); 

所選選項卡顯示藍色下劃線,並且我想更改其顏色。我怎樣才能做到這一點?

+0

你用'drawable'選擇器試過 –

+0

你能告訴我們'transaction_refno'可繪製嗎? –

回答

0

而不是使用R.drawable.transaction_refno,您可以使用drawable使用選擇器根據狀態顯示不同的drawable。你可以在你的繪製這樣寫:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/tab_selected" 
      android:state_selected="true"/> 
    <item android:drawable="@drawable/tab_unselected"/> 
</selector> 

,創造tab_selectedtab_unselected可繪製每個設計。有關如何使用TabHost的更多信息,您可以看到Android docs或檢查this walkthrough

相關問題