2012-08-07 17 views

Respuesta

49

Puede agregar fácilmente un icono/dibujable a PageTabStrip usando SpannableString o SpannableStringBuilder.

Por ejemplo, para mostrar un icono antes del texto:

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

¿Qué pasaría si quiero agregarlo debajo de la cadena? – Vaibs

+0

@Vaibs Comparta si pudo agregar texto debajo del ícono. Gracias. – iuq

+1

Por favor, edite su respuesta para configurar myDrawable. Funciona bien. –

2

@MatthewHousser si la solución de stever no funciona puede ser porque se establece un tamaño fijo en PagerTabStrip en el código XML. Esto es lo que tenía:

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

Esto es lo que tengo ahora:

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

La imagen no se visualiza en el primer caso, y se muestra en el segundo caso. Espero que ayude

Cuestiones relacionadas