clcurie_11
2013-04-25 07:51
采纳率: 64.8%
浏览 2.7k

如何改变 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的时候,它的颜色没变。怎么修改呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • LiDaming_and 2013-04-25 09:24
    已采纳
    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);
    }
    }
    
    点赞 打赏 评论
  • 问答小助手 2013-04-26 02:37

    你需要在 tabHost 上添加一个 Listener

    mtabHost.setOnTabChangedListener(new OnTabChangeListener() {
    
            @Override
            public void onTabChanged(String tabId) {
                setTabColor(mtabHost);
            }
    });
    

    在 setTabColor()包含你的代码。

    点赞 打赏 评论

相关推荐 更多相似问题