下载PagerSlidingTabStrip 源码:
https://github.com/astuetz/PagerSlidingTabStrip
修改下划线与标题的高亮
1.添加方法调用setSelectTextColor(position);
@Override
public void onPageSelected(int position) {
setSelectTextColor(position);
if (delegatePageListener != null) {
delegatePageListener.onPageSelected(position);
}
}
2.添加方法
private void setSelectTextColor(int position) {
for (int i = 0; i < tabCount; i++) {
View view = tabsContainer.getChildAt(i);
if (view instanceof ImageButton) {
} else if (view instanceof TextView) {
if (position == i) {
((TextView) view).setTextColor(自定义颜色);
} else {
((TextView) view).setTextColor(tabTextColor);
}
}
}
}
3.首次进入时候第一个显示高亮
添加
if (i == 0) {
tab.setTextColor(自定义颜色);
} else {
tab.setTextColor(tabTextColor);
}
整体的方法
private void updateTabStyles() {
for (int i = 0; i < tabCount; i++) {
View v = tabsContainer.getChildAt(i);
v.setBackgroundResource(tabBackgroundResId);
if (v instanceof TextView) {
TextView tab = (TextView) v;
tab.setTextSize(TypedValue.COMPLEX_UNIT_PX, tabTextSize);
tab.setTypeface(tabTypeface, tabTypefaceStyle);
if (i == 0) {
tab.setTextColor(自定义颜色);
} else {
tab.setTextColor(tabTextColor);
}
// setAllCaps() is only available from API 14, so the upper case
// is made manually if we are on a
// pre-ICS-build
if (textAllCaps) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
tab.setAllCaps(true);
} else {
tab.setText(tab.getText().toString()
.toUpperCase(locale));
}
}
}
}
}