6

我在为分隔线设置可绘制对象时遇到问题。我的 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 个,但没有成功。

4

2 回答 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>
于 2013-01-24T03:21:12.730 回答
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 是drawble 中的图片

于 2014-10-06T09:01:59.957 回答