美文网首页Android
改变FragmentTabHost选中的文字颜色。

改变FragmentTabHost选中的文字颜色。

作者: 愤怒的小铁匠 | 来源:发表于2019-03-05 11:05 被阅读0次

使用FragmentTabHost时遇到选中某一个Tab后字体颜色不改变的问题,可以使用以下方法来解决:

mTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {

@Override

    public void onTabChanged(String s) {

mTabHost.setCurrentTabByTag(tabId); 

  upDateTab(mTabHost); 

});

/**

* 更新文字颜色。

*

* @param mTabHost

*/

private void upDateTab(FragmentTabHost mTabHost) {

for (int i =0; i < mTabHost.getTabWidget().getChildCount(); i++) {

TextView tv = (TextView) mTabHost.getTabWidget().getChildAt(i).findViewById(R.id.tv_tab_text_view);

        if (mTabHost.getCurrentTab() == i) {//选中

            tv.setTextColor(this.getResources().getColor(R.color.tab_select_text_color));

        }else {//不选中

            tv.setTextColor(this.getResources().getColor(R.color.tab_un_select_text_color));

        }

}

}

使用上面的方法有一个问题就是刚进入首页,文字颜色是没有改变的,可以在

mTabHost.setCurrentTab(2);

之后去调用一下update方法即可。

相关文章

网友评论

    本文标题:改变FragmentTabHost选中的文字颜色。

    本文链接:https://www.haomeiwen.com/subject/furnuqtx.html