2012-06-30 13 views
14

Ok sto perdendo più sanità mentale che mai. Non riesco a trovare/capire come stile quella dannata cosa. Sono riuscito a modificare lo sfondo della scheda stessa, ma non riesco a scovare il colore della barra sotto la scheda selezionata.Come cambiare il colore della tab 'underbar' in actionbarsherlock

Come cambiarlo da blu a qualcosa.

mio styles.xml Purtroppo non ho molto male comprensione di come funziona domanda

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

Bonus: dove posso trovare quali proprietà (come sfondo) certa roba è.

risposta

8

Ho trovato che per lo sfondo è meglio copiare i drawable (9 patch e xml) trovati nella directory di ricerca di Android SDK e cambiarli per avere il colore che ti piace.

Utilizzano uno sfondo con la barra inferiore inclusa, quindi non penso sia possibile modificare la barra inferiore da sola.

Ecco quello che ho, lavorando con il colore verde per la barra in basso:

indicatore
<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 scheda si presenta così:

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

Spero che aiuta!

+0

Sto facendo qualcosa di simile QUI !!! http://stackoverflow.com/questions/19623805/actionbarsherlock-stacked-action-bar-styling-issue – toobsco42

17

Utilizzare ActionbarStyleGenerator per modellare la barra delle azioni. Questo è di gran lunga il modo più semplice e intuitivo.

Procedura:

  1. utilizzare l'interfaccia utente per selezionare i colori per i diversi elementi
  2. click Una volta fatto su "Download .zip"
  3. Il file ZIP contiene i file di risorse che si devono copiare nella vostra progetto res/layout e res/drawableXXXX cartelle
+0

dopo aver scaricato e copiato i file necessari ho bisogno di cambiare qualcosa nel codice? – Shrikant

+1

@Shrikant, è necessario assegnare il tema alla attività nel file manifest:

+0

ho provato, ma ancora in grado di ( – Shrikant

Problemi correlati