操作栏选项卡的对齐文本?

时间:2012-11-25 18:41:44

标签: android layout tabs android-actionbar

我尝试自定义操作栏标签。看图片:

enter image description here

我的代码:

   <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设置为值middle时,分隔符不可见。使用值begginingend可以看到它。

2 个答案:

答案 0 :(得分: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指定样式,并为此项目设置分隔符。

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