ViewPager - 自定义标题PagerTabStrip

时间:2014-02-26 14:22:15

标签: android android-viewpager

我在ViewPager中使用了标题,如下面的屏幕所示:只是带有android.support.v4.view.PagerTabStrip的文本

OnPageChangeListener()中的

我使用方法public CharSequence getPageTitle(int position)并设置标题

enter image description here

有没有办法自定义该字段:

enter image description here

可能是标题的某种自定义适配器吗?

2 个答案:

答案 0 :(得分:4)

这个库为您提供了比支持库的PagerTabStrip更多的自定义选项: https://github.com/astuetz/PagerSlidingTabStrip

答案 1 :(得分:4)

您可以使用SpannableString或SpannableStringBuilder轻松地向PageTabStrip添加图标/绘图。

例如,要在文本前显示图标:

Drawable myDrawable; //Drawable you want to display

@Override
public CharSequence getPageTitle(int position) {

SpannableStringBuilder sb = new SpannableStringBuilder(" " + "Page #"+ position); // space added before text for convenience

myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(), myDrawable.getIntrinsicHeight()); 
ImageSpan span = new ImageSpan(myDrawable, ImageSpan.ALIGN_BASELINE); 
sb.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

return sb;
}