2012-08-07 50 views

回答

49

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

如果我想將它添加到字符串下面,它會是什麼。 – Vaibs 2013-03-18 09:17:16

+0

@Vaibs如果您可以在圖標下方添加文本,請分享。謝謝。 – iuq 2014-01-15 11:02:09

+1

請編輯您的答案以設置myDrawable。它運作良好。 – 2015-07-09 13:01:02

2

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

的圖像在第一種情況下並沒有顯示出來,並顯示在第二種情況下。希望它會有所幫助。