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

OnPageChangeListener()中,我使用了public CharSequence getPageTitle(int position)方法,它设置了标题

有什么办法可以自定义该字段,使其看起来像这样:

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

最佳答案

您可以使用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;
}

10-08 13:55