Android 如何更改TabHost背景颜色
我正在用Tab主机做android应用程序。我想改变背景颜色,而不是android操作系统的默认颜色。我用谷歌搜索了这个问题,找到了一些解决方案,并编写了代码Android 如何更改TabHost背景颜色,android,Android,我正在用Tab主机做android应用程序。我想改变背景颜色,而不是android操作系统的默认颜色。我用谷歌搜索了这个问题,找到了一些解决方案,并编写了代码 for (i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) { mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY); } mTabH
for (i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) {
mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY);
}
mTabHost.getTabWidget().getChildAt(mTabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#000000"));
(i=0;i
mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY);
}
mTabHost.getTabWidget().getChildAt(mTabHost.getCurrentTab()).setBackgroundColor(Color.parseColor(#000000));
在这段代码中,每当我单击另一个(即下一个选项卡)选项卡时,第一个选项卡就会改变颜色,而颜色不会改变。如果有人知道这个问题,请告诉我 你必须在tabHost中添加一个侦听器,比如
mtabHost.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
setTabColor(mtabHost);
}
});
其中setTabColor()包含您的代码。
TabWidget tw=tabHost.getTabWidget();
setBackgroundDrawable(getResources().getDrawable(R.drawable.xxxxxx))代码>
//您必须覆盖
已更改的公共无效项(字符串tabId){
活动活动=getLocalActivityManager().getActivity(tabId);
如果(活动!=null){
activity.onWindowFocusChanged(true);
}
}
由于状态和选择器的原因,这比您想象的要复杂得多。我发现以下网站在以前自定义选项卡时非常有用: