2012-10-12 141 views
7

Estoy usando ActionBarShrelock para proporcionar barras de acción para dispositivos pre-honeycomb. He siguiente código en mi archivo themes.xml ...¿Cómo se puede diseñar el texto de la pestaña ActionaBar en Android?

<style name="My.Tab.Style" parent="@android:style/Widget.TabWidget"> 
     <item name="android:textAppearance">@style/MyCustomTabTextStyle</item> 
    </style> 

    <style name="MyCustomTabTextStyle" parent="Widget.Sherlock.ActionBar.TabText"> 
     <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
     <item name="android:textSize">14sp</item> 
     <item name="android:textStyle">bold</item> 
     <item name="android:textColor">@color/tabbar_text_color</item> 
    </style> 

Que utilizo este como

<item name="android:actionBarTabTextStyle">@style/My.Tab.Style</item> 
<item name="actionBarTabTextStyle">@style/My.Tab.Style</item> 

Puede alguien explicar por qué estoy recibiendo un poco de sombra en las últimas letras de la lengüeta ? ¿Cómo puedo deshacerme de eso? plz ayuda .. He intentado todo, pero esa sombra siempre está ahí ..

enter image description here

Respuesta

20

He resuelto el problema con un estilo personalizado.

  1. Primero creé un estilo personalizado

    <style name="My.TabText.Style" parent="@style/Widget.Sherlock.ActionBar.TabText">  
        <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
        <item name="android:textSize">16sp</item> 
        <item name="android:textStyle">bold</item> 
        <item name="android:textColor">@color/tabbar_text_color</item> 
        <item name="android:textAllCaps">false</item> 
        <!-- <item name="android:ellipsize">none</item> --> 
        <item name="android:maxLines">1</item> 
    </style> 
    
  2. que antes de que el estilo en mi Tema

    <item name="actionBarTabTextStyle">@style/My.TabText.Style</item> 
    <item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item> 
    
+0

alguien por favor formatee mi respuesta ... No puedo hacer eso ... – aProgrammer

+0

El atributo 'android: textAllCaps' fue introducido en API-14 lo que hará que esta solución no sea válida en las plataformas anteriores a Ice Cream Sandwich. Todavía estoy buscando una solución de trabajo, digamos API-11 (simplemente omitiendo la parte 'android:' del atributo no funciona por alguna razón). Referencia: http://developer.android.com/reference/android/R.attr.html#textAllCaps – dbm

+1

@dbm La API ActionBarSherlock solo usaba dispositivos antes de ICS (4.0.0). El código anterior es solo para los dispositivos pre ICS. ¿Estás utilizando la API ActionBarShelock en tu proyecto? – aProgrammer

1

Por lo que yo sé Barra de acciones Shelock utiliza la misma en la barra de acción normal. Sobre la base de esa suposición:

una respuesta anterior me dio ActionBar text color

y un generador http://jgilfelt.github.com/android-actionbarstylegenerator/

+0

que es una excelente respuesta .. Pero significa eso realmente a resolver mi problema .. Como se puede ver en la imagen que ya he cambiado todo en la barra de acción (fondo, textColor, TEXTSIZE etc.). Mi único problema es el comportamiento del texto (INICIAR SESIÓN y unirme a la reunión) en las pestañas. ¿Por qué es un efecto especial? ¿Cómo puedo deshacerme de eso? – aProgrammer

0

En los valores de carpetas añadir

<item name="actionBarTabTextStyle">@style/My.TabText.Style</item> 

En carpeta de valores-v14

<item name="android:actionBarTabTextStyle">@style/My.TabText.Style</item> 
Cuestiones relacionadas