2012-10-22 166 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