Search code examples
androidandroid-layoutandroid-viewpagerandroid-tabs

android: How to add icons/drawables to the PagerTabStrip from the Android Support Lib version 4?


android: How to add icons/drawables to the PagerTabStrip from the Android Support Lib version 4 ?

This is very specific question to people aware of the PagerTabStrip, I couldn't find enough examples anywhere, it's somehow new (The PagerTabStrip) so i couldn't find enough info.


Solution

  • You can easily add an icon/drawable to the PageTabStrip using SpannableString or SpannableStringBuilder.

    For example, to display an icon before the text :

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