android:如何从Android Support Lib版本4向PagerTabStrip添加图标/ drawable?

时间:2012-08-07 03:55:52

标签: android android-layout android-viewpager android-tabs

android:如何从Android Support Lib版本4向PagerTabStrip添加图标/抽屉?

对于知道PagerTabStrip的人来说这是一个非常具体的问题,我在任何地方都找不到足够的例子,它是新的(The PagerTabStrip)所以我找不到足够的信息。

2 个答案:

答案 0 :(得分:52)

您可以使用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, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

    return sb;
}

答案 1 :(得分:3)

@MatthewHousser 如果SteveR的解决方案不起作用,可能是因为您在XML中的PagerTabStrip中设置了固定大小。 这就是我所拥有的:

<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>

在第一种情况下未显示图像,并在第二种情况下显示。希望它会有所帮助。