Android操作栏标签栏分隔线

时间:2012-10-22 11:47:44

标签: android styles themes tabbar divider

我在设置分隔符的drawable时遇到问题。我的style.xml看起来像这样:

<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 / divider设置为制表符分隔符。这个drawable是一个9patch图像,一个垂直的黑线。

在我在xml中设置可绘制的分隔符之前我得到了正常的白色分隔符,如下所示:

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

在styles.xml中设置drawable之后我得到了这个:

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

因此,您可以看到分频器变得更宽,而不是9patch图像中的黑色垂直线。我甚至不确定分隔器的抽屉是什么?图片或图层列表,还是可以是颜色?事实上,我尝试了所有这3个但没有成功。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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中的图片