使用最广泛的Android爬虫指示器PagerSlidingTabStrip遇到的相关问题的解决,并源码修改

来源:互联网 发布:高等教育出版社 知乎 编辑:程序博客网 时间:2024/06/08 13:53

最近在使用PagerSlidingTabStrip的时候遇到过这样一个问题,就是TabPageIndicator里面的cell给的英文,无论后台返回的是大写还是小写,最后显示的时候,都变成了大写,看了源码分析.

// if (textAllCaps) {//用来改变字体大小写的// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {// tab.setAllCaps(true);// } else {// // tab.setText(tab.getText().toString().toUpperCase(locale));// }// }
// }

PagerSlidingTabStrip 这段逻辑注释掉即可

  else 是转化全部把String转化为大写, 那if呢?

 tab.setAllCaps(true);//这里tab是继承TextView的自定义TextView, 这句代码的意思也是把英文都转化为大写.

并且,他是优于totoUpperCase()的,  因为如果不把这几行注释掉,而是在这几行代码的下面一行另外写上:

tab.setText(tab.getText().toString().toLowerCase(locale));  你会发现结果失效,显示的UI没有任何改变效果!

备注:

   tab.setAllCaps(true);//英文改大写

tab.setAllCaps(true);英文改小写


// setAllCaps() is only available from API 14, so the upper case is made manually if we are on a// pre-ICS-build

原创粉丝点击