我正在尝试更改所选(活动标签)的背景颜色。我的情况是默认情况下,当用户选择它获得我想要的颜色的选项卡时,所有选项卡都是白色的。 我使用的是库名 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));
答案 0 :(得分:2)
添加这些行以更改特定孩子的背景。
LinearLayout view = (LinearLayout) tabStrip.getChildAt(0);
TextView textView = (TextView) view.getChildAt(position);
textView.getParent().setBackgroundColor(getResources().getColor(
R.color.dash_bar));