繁体   English   中英

如何以编程方式更改标签的背景颜色?

[英]How to change tab background color programmatically?

我正在尝试更改所选(活动标签)的背景颜色。 我的情况是默认情况下,当用户选择获得所需颜色的选项卡时,所有选项卡均为白色。 我正在使用一个库名PagerSlidingTabStrip ... ...到目前为止,我尝试的是:

在选项卡上更改时,我将此代码称为。 它可以很好地工作并更改文本颜色。 现在,我只想更改相同的标签背景颜色。

private void setSelectedTabColor(int position) {
    for(int i=0; i<tabStrip.getChildCount(); i++)  
    {  
        LinearLayout view = (LinearLayout) tabStrip.getChildAt(0);
        TextView textView = (TextView) view.getChildAt(i);
        textView.setTextColor(getResources().getColor(R.color.black)); 
    }  

    LinearLayout view = (LinearLayout) tabStrip.getChildAt(0);
    TextView textView = (TextView) view.getChildAt(position);
    textView.setTextColor(getResources().getColor(R.color.white));
}

通过循环尝试以下代码,我得到了空指针异常。

tabStrip.getChildAt(i).setBackgroundColor(getResources().getColor(R.color.dash_bar));

添加这些行以更改特定子级的背景。

LinearLayout view = (LinearLayout) tabStrip.getChildAt(0);      
TextView textView = (TextView) view.getChildAt(position);
textView.getParent().setBackgroundColor(getResources().getColor(
              R.color.dash_bar));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM