2012-10-22 279 views
6

我有問題設置分隔線的drawable。我style.xml看起來是這樣的:Android操作欄選項卡欄divider

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

在HCLActionBarTabBarStyle我設置@繪製/分頻器作爲標籤分割。這個drawable是一個9patch圖像,一條垂直的黑線。

之前,我設置的分隔繪製在XML中我得到正常的白色分頻器是這樣的:

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

後,我在styles.xml設置繪製我得到這個:

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

因此,您可以看到分隔線變寬,而不是9patch圖像中的黑色垂直線。我甚至不確定分頻器的可繪製圖形必須是什麼?一張圖片或圖層列表,還是它可以是一種顏色?事實上,我嘗試了所有這些3但沒有成功。

回答

12

在自定義樣式上使用「actionBarDivider」屬性。

類似下面

<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

那一個圖片僅供API級14和向上 –

2

創建標籤分割畫面

在樣式添加以下所示

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

代碼的項目在操作欄標籤指示器devider

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

其中@ drawble/tabindicator是在drawble