如何在Android中更改溢出菜单文本颜色?

时间:2015-03-06 22:33:00

标签: android android-actionbar textcolor

我有一个自定义主题(大多数)工作得很好。我遇到的问题是我无法想办法改变溢出菜单的文字颜色。我意识到有可能以编程方式进行,但我真的希望能找到一个可以放入xml的解决方案。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.Light" parent="android:Theme.Material.Light.DarkActionBar">
        <item name="themeName">Theme.Light</item>
        <!--<item name="android:textColor">#ff000000</item>-->

        <!-- colorPrimary is used for the default action bar background -->
        <item name="android:colorPrimary">@color/blue</item>

        <!-- colorPrimaryDark is used for the status bar -->
        <item name="android:colorPrimaryDark">@color/medium_blue</item>

        <!-- colorAccent is used as the default value for colorControlActivated,
        which is used to tint widgets -->
        <item name="android:colorAccent">@color/dark_blue</item>

        <!-- You can also set colorControlNormal, colorControlActivated
        colorControlHighlight, and colorSwitchThumbNormal. -->

        <item name="android:actionOverflowMenuStyle">@style/Theme.Light.PopupMenu</item>

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

        <item name="actionBarWidgetTheme">@style/MyStyle</item>
    </style>

    <style name="MyStyle" parent="android:style/Widget">
        <item name="android:textColor">@color/dark_text</item>
    </style>

    <style name="Theme.Light.PopupMenu" parent="android:style/Widget.Material.PopupMenu.Overflow">
        <!-- Required for pre-Lollipop. -->
        <item name="overlapAnchor">false</item>

        <!-- Required for Lollipop. -->
        <item name="android:overlapAnchor">false</item>

        <item name="android:popupBackground">@color/medium_blue</item>

        <item name="android:actionMenuTextColor">@style/Theme.Light.TextAppearance</item>
        <item name="android:textColor">@color/dark_text</item>
        <item name="android:textColorPrimary">@color/dark_text</item>
    </style>

    <style name="Theme.Light.TextAppearance">
        <item name="android:textColor">@color/dark_text</item>
        <item name="android:textColorPrimary">@color/dark_text</item>
    </style>
</resources>  

我意识到这是相当混乱但我在几个方面离开了我试图改变文本颜色。基本上不是使用Material主题的默认黑色,我想将溢出菜单textcolor更改为白色。

我的猜测只有一些属性我没有改变,但显然我不知道它是什么。我在这里搜索过谷歌,但是没有找到解决方案。

编辑:设置整个主题的textColor确实会影响溢出菜单的文本颜色,但也会影响其他所有文本的颜色。我正在寻找更具体的属性。

0 个答案:

没有答案