2011-04-26 92 views
2

我正在使用Tab主機做Android應用程序。我想改變背景顏色,而不是從android操作系統提供默認顏色。我谷歌這個問題我得到了一些解決方案,我做了編碼。如何更改TabHost背景顏色

for (i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) { 
     mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY); 
     } 
    mTabHost.getTabWidget().getChildAt(mTabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#000000")); 

在這段代碼中,當我點擊另一個標籤(即下一個標籤)時,第一個標籤獲取顏色變化標籤顏色不會改變。如果有人對這個問題有所瞭解,請指導我。

回答

1

TabWidget tw = tabHost.getTabWidget(); tw.setBackgroundDrawable(getResources().getDrawable(R.drawable.xxxxxx));

//你必須重寫
public void onTabChanged(String tabId) {
Activity activity = getLocalActivityManager().getActivity(tabId);
if (activity != null) {
activity.onWindowFocusChanged(true);
}
}

2

你必須添加一個監聽器到你的tabHost,某事。像

mtabHost.setOnTabChangedListener(new OnTabChangeListener() { 

     @Override 
     public void onTabChanged(String tabId) { 
      setTabColor(mtabHost); 
     } 
}); 

其中setTabColor()包含您的代碼。