问题描述
- 如何改变 TabHost 的背景颜色?
- 我做了一个使用Tab Host的android应用程序,我想改变Tab Host的背景颜色,而不是使用 android 操作系统给予的默认颜色。
我上网查找的下面的方法:for (i = 0; i < mTabHost.getTabWidget().getChildCount(); i++) { mTabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.LTGRAY); } mTabHost.getTabWidget().getChildAt(mTabHost.getCurrentTab()).setBackgroundColor(Color.parseColor(""#000000""));
但现在第一个tab的颜色可以改变,但是当我点击另外一个tab的时候,它的颜色没变。怎么修改呢?
解决方案
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 上添加一个 Listener
mtabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { setTabColor(mtabHost); }});
在 setTabColor()包含你的代码。
时间: 2025-01-02 11:29:56