Android动作栏选项卡分隔线

6

我在设置分割线的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图像的黑色竖线。我甚至不确定分隔符的drawable应该是什么?是图片还是层列表,或者可以是颜色?事实上,我尝试了这三个选项,但都没有成功。
2个回答

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>

这仅适用于API级别14及以上。 - Mark Molina

2
创建选项卡分隔符图片
在样式中添加以下显示的项目。
<item name="android:actionBarTabBarStyle">@style/customTabBar</item> 

在操作栏选项卡指示器中添加分隔符的代码

<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是一个位于drawable文件夹中的图片


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接