根据这个article,如果你自己添加attr,你可以设置选中标签和未选中标签的颜色:
<attr name="pstsTabSelectedTextColor" format="color" />
<attr name="pstsTabUnselectedTextColor" format="color" />
在“PagerSlidingTabStrip”文件中,添加:
private static final int DEFAULT_TAB_TEXT_COLOR = 0xFF666666;
private int tabSelectedTextColor;
private int tabUnselectedTextColor;
删除“tabTextColor”字段以及与之相关的任何内容。
在 CTOR 中,添加:
tabSelectedTextColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsTabSelectedTextColor, DEFAULT_TAB_TEXT_COLOR);
tabUnselectedTextColor = a.getColor(R.styleable.PagerSlidingTabStrip_pstsTabUnselectedTextColor, DEFAULT_TAB_TEXT_COLOR);
在代码中,为我编写的新字段添加 setters&getters。添加这个方法:
private void updateTabsTextColors() {
for (int i = 0; i < tabCount; i++) {
View v = tabsContainer.getChildAt(i);
if (v instanceof TextView) {
TextView tab = (TextView) v;
if (pager.getCurrentItem() == i)
tab.setTextColor(tabSelectedTextColor);
else tab.setTextColor(tabUnselectedTextColor);
}
}
}
在“PageListener”类的“onPageSelected”、新的设置器中以及“updateTabStyles”的末尾调用此函数。