如何在TabHost中更改颜色

RAA*_*AAM 2 android

我正在使用TabHost合成器进行应用程序,标签显示默认颜色,是否有可能将默认颜色更改为我们自己的颜色.我从谷歌得到了一些想法,

tabHost.setOnTabChangedListener(new OnTabChangeListener(){
    @Override
    public void onTabChanged(String tabId) {
        // TODO Auto-generated method stub
         for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
            {
               tabHost.getTabWidget().getChildAt(i).setBackgroundColor(R.color.transparent); //unselected
            }
            tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#000011")); // selected
    }
Run Code Online (Sandbox Code Playgroud)

每当我这样做,我得到强制关闭错误.如果有人想改变背景颜色,请引导我.

Fop*_*tin 7

您首先需要更改默认外观

for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
    {
    if (i == 0) tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#FFFFFF"));

    else tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#7392B5"));
    }    
Run Code Online (Sandbox Code Playgroud)

在处理onTabChanged事件之前

tabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
    // TODO Auto-generated method stub
     for(int i=0;i<tabHost.getTabWidget().getChildCount();i++)
        {
           tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parsecolor("#7392B5")); //unselected
        }
        tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#FFFFFF")); // selected
}
});
Run Code Online (Sandbox Code Playgroud)