android: Как добавить значки / рисунки в PagerTabStrip из Android Support Lib версии 4?

android: Как добавить значки / рисунки в PagerTabStrip из Android Support Lib версии 4?

Это очень конкретный вопрос для людей, знающих о PagerTabStrip, я не смог найти достаточно примеров, он как-то новый (The PagerTabStrip), поэтому я не смог найти достаточно информации.

2 ответа

Решение

Вы можете легко добавить иконку / рисование в PageTabStrip, используя SpannableString или SpannableStringBuilder.

Например, чтобы отобразить значок перед текстом:

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, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

    return sb;
}

@MatthewHousser, если решение SteveR не работает, это может быть потому, что вы установили фиксированный размер в PagerTabStrip в своем XML. Вот что у меня было:

<android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_tab_strip"
        android:layout_width="match_parent"
        android:layout_height="30dp">
</android.support.v4.view.PagerTabStrip>

Вот что у меня сейчас:

<android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_tab_strip"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
</android.support.v4.view.PagerTabStrip>

Изображение не отображалось в первом случае, а отображается во втором случае. Надеюсь, это поможет.

Другие вопросы по тегам