无法在android中以编程方式设置选项卡的背景色
我正在尝试通过编程方式为android中的选项卡设置自定义颜色。未选择的颜色-黑色。所选颜色-白色。但只有第一个选项卡保持选中状态,因为无法在android中以编程方式设置选项卡的背景色,android,tabs,Android,Tabs,我正在尝试通过编程方式为android中的选项卡设置自定义颜色。未选择的颜色-黑色。所选颜色-白色。但只有第一个选项卡保持选中状态,因为 tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#FFFFFF")); 但选中后,其余选项卡不会更改颜色。我不知道我错过了什么。以下是我所拥有的: TabHost tabhost; public void onCreate(Bundle savedInstan
tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#FFFFFF"));
但选中后,其余选项卡不会更改颜色。我不知道我错过了什么。以下是我所拥有的:
TabHost tabhost;
public void onCreate(Bundle savedInstanceState) {
tabHost = getTabHost();
.... // remaining definition of tabs go here
for(int i=0; i < tabHost.getTabWidget().getChildCount();i++)
{
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#000000"));
}
//tabHost.getTabWidget().setCurrentTab(0);
tabHost.getTabWidget().getChildAt(0).setBackgroundColor(Color.parseColor("#FFFFFF"));
} // close of oncreate() function
public void onTabChanged(String tabId) {
for(int i=0; i < tabHost.getTabWidget().getChildCount(); i++)
{
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#000000")); //inactive tabs
}
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#FFFFFF")); //active tab
}
}
更改中的最后一行:
tabHost.getCurrentTabView().setBackgroundColor(Color.parseColor("#FFFFFF")); //active tab
不好,还是一样。所选选项卡的颜色不会更改。。。即使被选中,它仍然是黑色的。实际上它工作了。我用另一种方式做的。这个问题的评论有助于: