2012-06-30 28 views
14

Ok, estoy perdiendo más cordura que nunca. No puedo encontrar/entender cómo darle estilo a la maldita cosa. Logré cambiar el fondo de la pestaña en sí, pero no puedo ver el color de la barra debajo de la pestaña seleccionada.Cómo cambiar el color de la pestaña 'underbar' en actionbarsherlock

Cómo cambiarlo de azul a algo.

Mi styles.xml Por desgracia, tengo muy mala comprensión de cómo funciona pregunta

<?xml version="1.0" encoding="utf-8"?> 
<resources> 


    <style name="Theme.Styled" parent="Theme.Sherlock.Light"> 
     <item name="actionBarTabStyle">@style/Widget.Styled.ActionBarTab</item> 
     <item name="android:actionBarTabStyle">@style/Widget.Styled.ActionBarTab</item> 

     <item name="actionBarTabBarStyle">@style/Widget.Styled.ActionBarTabBar</item> 
     <item name="android:actionBarTabBarStyle">@style/Widget.Styled.ActionBarTabBar</item> 

     <item name="actionBarTabTextStyle">@style/myText</item> 
     <item name="android:actionBarTabTextStyle">@style/myText</item> 


    </style> 

    <style name="Widget.Styled.ActionBarTab" parent="Widget.Sherlock.Light.ActionBar.TabView"> 
    <!-- <item name="background">@drawable/startbcg</item> 
     <item name="android:background">@drawable/startbcg</item> 
     <item name="backgroundSplit">@drawable/bg_striped_split</item> 
     <item name="android:backgroundSplit">@drawable/bg_striped_split</item> 
    --> 
    </style> 


    <style name="Widget.Styled.ActionBarTabBar" parent="Widget.Sherlock.Light.ActionBar.TabBar"> 

     <item name="background">@drawable/startbcg</item> 
     <item name="android:background">@drawable/startbcg</item> 
     <item name="backgroundSplit">@drawable/bg_striped_split</item> 
     <item name="android:backgroundSplit">@drawable/bg_striped_split</item> 

    </style> 

    <style name="myText" parent="Widget.Sherlock.Light.ActionBar.TabText"> 
     <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
     <item name="android:textColor">@android:color/primary_text_dark</item> 
     <item name="android:textSize">10sp</item> 


    </style> 
<style name="myTextInv" parent="Widget.Sherlock.Light.ActionBar.TabText.Inverse"> 
     <item name="android:textAppearance">@android:style/TextAppearance.Medium</item> 
     <item name="android:textColor">@android:color/primary_text_dark</item> 
     <item name="android:textSize">10sp</item> 


    </style> 
</resources> 

Bono: donde puedo encontrar lo que tiene propiedades (como fondo) ciertas cosas.

Respuesta

8

Encontré que, para el fondo, es mejor copiar los elementos extraíbles (9 parches y xml) que se encuentran en el directorio de SDK res de Android y cambiarlos para que tengan el color que desee.

Utilizan un fondo con la barra inferior incluida, por lo que no creo que sea posible cambiar solo la barra inferior.

Esto es lo que tengo, trabajar con el color verde para la barra inferior:

indicador
<style name="customTabStyle" parent="Widget.Sherlock.ActionBar.TabView"> 
    <item name="android:showDividers">none</item> 
    <item name="android:measureWithLargestChild">true</item> 
    <!-- This was a copy from the sdk drawable --> 
    <item name="android:background">@drawable/tab_indicator</item> 

    <item name="background">@drawable/tab_indicator</item> 
    <item name="android:gravity">center</item> 
    <item name="android:textStyle">normal</item> 
</style> 


<style name="customTabBar" parent="Widget.Sherlock.ActionBar.TabBar"> 
    <item name="android:showDividers">middle</item> 

    <item name="android:divider">@drawable/tab_divider</item> 
    <item name="divider">@drawable/tab_divider</item> 

    <item name="android:dividerPadding">10dip</item> 

    <item name="android:background">@drawable/tab_bg</item> 
</style> 

La ficha se ve así:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- Non focused states --> 
<item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected" /> 
<item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected" /> 

<!-- Focused states --> 
<item android:state_focused="true" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/tab_unselected_focused" /> 
<item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/tab_selected_focused" /> 

<!-- Pressed --> 
<!-- Non focused states --> 
<item android:state_focused="false" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed" /> 
<item android:state_focused="false" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed" /> 

<!-- Focused states --> 
<item android:state_focused="true" android:state_selected="false" android:state_pressed="true" android:drawable="@drawable/tab_unselected_pressed" /> 
<item android:state_focused="true" android:state_selected="true" android:state_pressed="true" android:drawable="@drawable/tab_selected_pressed" /> 
</selector> 

espero que ayude!

+0

Estoy haciendo algo similar AQUÍ !!! http://stackoverflow.com/questions/19623805/actionbarsherlock-stacked-action-bar-styling-issue – toobsco42

17

Use ActionbarStyleGenerator para aplicar estilo a la barra de acciones. Esta es, de lejos, la forma más simple e intuitiva.

Cómo:

  1. Utilice la interfaz de usuario para seleccionar colores para diferentes artículos
  2. haga clic una vez hecho el ".ZIP DESCARGAR"
  3. El archivo ZIP contiene los archivos de recursos que hay que copiar en su proyecto res/layout y res/drawableXXXX carpetas
+0

Después de descargar y copiar los archivos necesarios, ¿necesito cambiar algo en el código? – Shrikant

+1

@Shrikant, tiene que asignar el tema a la actividad en el archivo de manifiesto:

+0

lo intenté, pero todavía no es capaz de obtener el resultado deseado :( – Shrikant

Cuestiones relacionadas