0

我尝试自定义操作栏选项卡。看图片:

在此处输入图像描述

我的代码:

   <style name="ActionBarTabBar" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
        <item name="android:showDividers">end</item>
        <item name="android:divider">@drawable/actionbar_tab_divider</item>
        <item name="android:dividerPadding">0dp</item>
        <item name="android:background">@drawable/actionbar_tab_bg</item>
        <item name="android:paddingLeft">50dp</item>
        <item name="android:paddingRight">0dp</item>
    </style>


    <style name="ActionBarTab" parent="@android:style/Widget.Holo.ActionBar.TabView">
        <item name="android:showDividers">none</item>
        <item name="android:measureWithLargestChild">true</item>
        <item name="android:gravity">center</item>
    </style>

    <style name="CustomTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/ActionBar</item>
        <item name="android:listSelector">@style/ListView</item>
        <item name="android:actionBarTabBarStyle">@style/ActionBarTab</item>
        <item name="android:actionBarTabStyle">@style/ActionBarTabBar</item>
    </style>

我想将标签的文本对齐到中心。当我尝试将 showDividers 设置为 valuemiddle时,分隔线不可见。它通过值beggining或可见end

4

2 回答 2

4

经过更多尝试,我得到了想要的结果。

这是我的代码,可以正常工作。

<style name="ActionBarTabBar" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
    <item name="android:background">@drawable/actionbar_tab_bg</item>
    <item name="android:paddingLeft">30dp</item>
    <item name="android:paddingRight">30dp</item>
</style>


<style name="ActionBarTab" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:showDividers">middle</item>
    <item name="android:divider">@drawable/actionbar_tab_divider</item>
    <item name="android:dividerPadding">0dp</item>
    <item name="android:measureWithLargestChild">true</item>
    <item name="android:gravity">center</item>
</style>


<style name="CustomTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarTabBarStyle">@style/ActionBarTab</item>
    <item name="android:actionBarTabStyle">@style/ActionBarTabBar</item>
</style>

需要为 Widget.Holo.Light.ActionBar.TabView 指定样式,并为此项目设置分隔线。

于 2012-11-26T10:12:05.057 回答
2

删除不需要覆盖的样式,以便像您描述的那样设置标签的样式:

<style name="ActionBarTabBar" parent="@android:style/Widget.Holo.Light.ActionBar.TabBar">
        <item name="android:divider">@drawable/actionbar_tab_divider</item>
        <item name="android:background">@drawable/actionbar_tab_bg</item>        
</style>
于 2012-11-25T19:51:52.460 回答