更改工具栏溢出菜单文本颜色

时间:2015-06-04 07:08:39

标签: android xml

我一直在尝试使用新的工具栏并设置溢出菜单,没有太多运气。

目前溢出菜单显示为带有灰白色背景的白色文字。

enter image description here

我想更改溢出菜单文字颜色,而不会影响工具栏中的标题和副标题。

toolbar.xml

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android" android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ActionBarCustomTheme"
    android:popupTheme="@style/popupNew"
    android:background="@color/primary_color"
    />

style.xml

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>

    <item name="colorPrimary">@color/primary_color</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="popupMenuStyle">@style/popupNew</item>
</style>

<style name="ActionBarCustomTheme" parent="Theme.AppCompat.Light.DarkActionBar">

    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>

    <item name="colorPrimary">@color/primary_color</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>

    <item name="android:textColorPrimary">@color/text_icons</item>
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    <item name="colorControlNormal">@color/text_icons</item>

    <item name="android:textColorSecondary">@color/text_icons</item>
    <item name="actionMenuTextColor">@color/primary_text</item>
</style>


<style name="popupNew" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:textColor">@color/primary_text</item>
</style>

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/text_icons</item>
</style>

2 个答案:

答案 0 :(得分:0)

尝试将弹出主题更改为以下内容:

<style name="popupNew" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:textColor">@color/primary_text</item>
</style>

您可以查看this答案了解详情。

答案 1 :(得分:0)

我终于弄明白了。在ActionBarCustomTheme下只增加了一行:

    <item name="android:textColor">@color/primary_text</item>

有点令人困惑,因为有一个名为 textColorPrimary 的属性已经设置但是这个属性似乎不会影响溢出菜单。