您的位置:首页 > 移动开发 > Android开发

Android 修改PagerSlidingTabStrip 高亮选中标题

2017-07-07 14:38 681 查看
下载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));
}
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息