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をvalueに設定しようとするとmiddle、dividerが表示されません。値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 に答える