如何在android的操作栏v7中更改选项卡的样式(颜色)?

时间:2014-05-22 07:31:22

标签: android android-actionbar

我正在尝试使用v7支持库更改操作栏中标签的颜色和样式。但只有动作栏的颜色不会更改标签。请告诉我我做错了什么。

<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
       parent="@style/Theme.AppCompat.Light.DarkActionBar">


    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarTabStyle">@style/TabStyle</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">


    <!-- Support library compatibility -->
    <item name="background">@color/action_bar</item>
</style>

<style name="TabStyle"
    parent="@style/Widget.AppCompat.ActionBar.TabView">

    <item name="background">@drawable/tab_bar_background</item>
</style>

3 个答案:

答案 0 :(得分:0)

尝试此操作(如果您使用操作栏标签):

<style name="ActionBarTabs" parent="@style/Widget.AppCompat.Light.ActionBar.TabView.Inverse">
    <item name="titleTextStyle">@style/ActionBarTitle</item>
    <item name="android:titleTextStyle">@style/ActionBarTitle</item>
    <item name="background">@drawable/tab_bar_background</item>
    <item name="android:background">@drawable/tab_bar_background</item>
</style>

<style name="ActionBarTabBar" parent="@style/Widget.AppCompat.Light.ActionBar.TabBar.Inverse">
    <item name="android:showDividers">middle</item>
    <item name="android:divider">@drawable/list_divider_holo_light</item>
    <item name="android:dividerPadding">8dp</item>
    <item name="android:background">@color/actionbar_background</item>
</style>

<style name="TabTextStyle" parent="@style/Widget.AppCompat.ActionBar.TabText">
    <item name="android:textColor">@android:color/black</item>
</style>


在你的主题:

 <style name="AppTheme" parent="@style/AppBaseTheme">
    ...
    <item name="android:actionBarTabStyle">@style/ActionBarTabs</item>
    <item name="actionBarTabStyle">@style/ActionBarTabs</item>
    <item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
    <item name="actionBarTabTextStyle">@style/TabTextStyle</item>
    <item name="android:actionBarTabBarStyle">@style/ActionBarTabBar</item>
    <item name="actionBarTabBarStyle">@style/ActionBarTabBar</item>
    ...
</style>

答案 1 :(得分:0)

如果要更改操作栏中菜单项的颜色,则必须在主题样式中设置actionMenuTextColor。

<style name="PortfolioTheme" parent="android:style/Theme.Holo.Light">
   <item name="android:actionMenuTextColor">#24598a</item>
   <item name="actionMenuTextColor">#24598a</item>
</style>

答案 2 :(得分:0)

要自定义标签颜色,我想您应该将TabStyle项目更改为:

<item name="android:actionBarTabBarStyle">@style/TabStyle</item>

覆盖“android:actionBarTabBarStyle”而不是“android:actionBarTabStyle”