2012-06-28 64 views
2

有誰知道我如何編輯標籤背景,所以我有一個紅色的漸變背景,當它沒有選擇,當它被選中一個暗紅色的梯度?也改變文字顏色爲白色?Android更改背景的標籤

+0

你可以自定義繪製此 – rajpara

回答

0

例如,在繪圖文件夾background.xml中創建一個新文件。

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- When selected, use red--> 
    <item android:drawable="@drawable/gradient_red" 
      android:state_selected="true"/> 
    <!-- When not selected, use dark rebg--> 
    <item android:drawable="@drawable/gradien_dark_red"/> 
</selector> 

使用新的drawable作爲背景。

2

您可以使用此代碼

TabHost.TabSpec spec; 
TabHost tabHost = getTabHost(); 
spec = tabHost.newTabSpec("1").setIndicator("Tab Host 1", res.getDrawable(R.drawable.XXX)).setContent(intent_name); 
tabHost.addTab(spec); 
tabHost.setCurrentTab(2); 
setTabColor(tabHost); 
tabHost.setOnTabChangedListener(new OnTabChangeListener() { 
    @Override 
    public void onTabChanged(String tabId) { 
      setTabColor(tabHost); 
    } 
}); 
} 

public static void setTabColor(TabHost tabhost) { 
    for (int i = 0; i < tabhost.getTabWidget().getChildCount(); i++) { 
     tabhost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#000000")); // unselected 
    } 

    tabhost.getTabWidget().getChildAt(tabhost.getCurrentTab()).setBackgroundColor(Color.parseColor("#74df00")); // selected 
} 
+0

感謝,我得到這裏一個空指針異常.setBackgroundColor(Color.parseColor(「#74df00」)); –

+0

嘗試設置不同的顏色代碼,因爲我使用了相同的代碼,並且它對我運行良好。 – Shrikant