如何更改TabHost背景颜色

如何更改TabHost背景颜色

问题描述:

我正在使用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")); 

在这段代码中,当我点击另一个标签(即下一个标签)时,第一个标签获取颜色变化标签颜色不会改变。如果有人对这个问题有所了解,请指导我。

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);
}
}

你必须添加一个监听器到你的tabHost,某事。像

mtabHost.setOnTabChangedListener(new OnTabChangeListener() { 

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

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

因为状态和选择,这是比你想象的更复杂。在定制标签之前,我发现以下网站很有用:http://joshclemm.com/blog/?p=136