2012-10-22 20 views
6

Sto riscontrando problemi nell'impostazione del drawable per il divisore. Il mio style.xml assomiglia a questo:Separatore della barra delle linguette della barra delle azioni di Android

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="HCLTheme" parent="android:Theme.Holo.Light"> 
     <item name="android:actionBarStyle">@style/HCLActionBarStyle</item> 
     <item name="actionBarStyle">@style/HCLActionBarStyle</item> 
     <item name="android:actionBarTabBarStyle">@style/HCLActionBarTabBarStyle</item> 
     <item name="android:actionBarTabStyle">@style/HCLActionBarTabStyle</item> 
    </style> 

    <style name="HCLActionBarStyle" parent="android:style/Widget.Holo.ActionBar"> 
     <item name="android:background">@drawable/hcl_actionbar_drawable</item> 
     <item name="background">@drawable/hcl_actionbar_drawable</item> 
     <item name="android:titleTextStyle">@style/HCLActionBarTitle</item> 
    </style> 

    <style name="HCLActionBarTabBarStyle" parent="@android:style/Widget.Holo.ActionBar.TabBar"> 
     <item name="android:showDividers">middle</item> 
     <item name="android:divider">@drawable/divider</item> 
     <item name="android:dividerPadding">0dp</item> 
    </style> 

    <style name="HCLActionBarTabStyle" parent="@android:style/Widget.Holo.ActionBar.TabView"> 
     <item name="android:background">@drawable/action_bar_tab_style</item> 
    </style> 

    <style name="HCLActionBarTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> 
     <item name="android:textColor">@android:color/white</item> 
    </style> 

</resources> 

Nel HCLActionBarTabBarStyle che sto impostando la @ drawable/divisore come la scheda divisore. Questo drawable è un'immagine a 9patch, una linea nera verticale.

Prima ho impostato la drawable divisorio in xml sto ottenendo il divisore bianco normale in questo modo:

https://dl.dropbox.com/u/93667096/a.png

dopo essere stata impostata drawable nel styles.xml ottengo questo:

https://dl.dropbox.com/u/93667096/b.png

Quindi, come si può vedere, il divisore si allarga e non è la linea verticale nera dall'immagine a 9 riquadri. Non sono nemmeno sicuro di quale debba essere il drawable per il divisore? Un elenco di immagini o livelli o può essere un colore? In effetti ho provato tutti questi 3 ma senza successo.

risposta

12

Utilizzare la proprietà di "actionBarDivider" sullo stile personalizzato.

Qualcosa di simile

<style name="AppTheme" parent="AppBaseTheme"> 
    <!-- You app specific customization --> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
    <item name="android:actionMenuTextColor">@color/menu_state_list</item> 
    <item name="android:actionBarTabStyle">@style/tabStyle</item> 
    <item name="android:actionBarTabTextStyle">@style/tabTextColor</item> 

    <!-- Set it like this --> 
    <item name="android:actionBarDivider">@drawable/verticle_marker_thin</item> 
</style> 
+0

Quello è solo per il livello di API 14 in su –

2

creare sotto

in stili aggiungere un elemento seguito riportiamo

<item name="android:actionBarTabBarStyle">@style/customTabBar</item> 

codice per devider Indicatore scheda barra azioni scheda immagine divisore

<style name="customTabBar" parent="@style/Widget.AppCompat.ActionBar.TabBar"> 
<item name="android:showDividers">middle</item> 
<!-- give your divider here --> 
<item name="android:divider">@drawable/tabindicator</item> 
<item name="android:dividerPadding">0dp</item> 

dove @ drawble/tabindicator è un quadro in drawble

Problemi correlati