如何更改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()包含您的代码。