如何在 material 设计中更改操作栏菜单项文本颜色

how to change actionbar's menu item text color in material design

我正在尝试更新我的记事本应用以使用 Material 设计,即使在旧设备上也是如此。

到目前为止我做了什么:

  1. 将库 appcompat_v7 添加到我的项目,以支持 Material 在旧设备上的设计
  2. 修改AndroidManifest中的主题,添加android:theme="@style/Theme.NoteItTheme"<application ... ></application>属性
  3. 正在 /res/values/themes 创建主题。xml:

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
       <style name="Theme.NoteItTheme" parent="Theme.AppCompat.Light">
        <!-- Here we setting appcompat’s actionBarStyle -->
        <!-- <item name="actionBarStyle">@style/MyActionBarStyle</item> --> 
    
        <!-- ...and here we setting appcompat’s color theming attrs -->
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="android:textColorPrimary">@color/text</item>
        <item name="colorAccent">@color/ui</item>
    
        <!-- The rest of your attributes -->
    </style>
    

问题:

你可以在这里更好地看到:

当我展开操作栏的菜单时,文本颜色和背景颜色非常相似。 我以前没遇到过这个问题,如何只更改项目文本颜色?

<item name="android:textColorPrimary">yourColor</item>

以上代码更改了 API >= v21 的菜单操作项的文本颜色。

<item name="actionMenuTextColor">@android:color/holo_green_light</item>

以上是 API < v21

的代码

一些教程:

Changing toolbar's text color and overflow icon color

Appcompat v21 Pre-Lollipop devices

下面对我有用

<item name="actionMenuTextColor">yourColor</item>
<item name="android:actionMenuTextColor">yourColor</item>

以下对我来说很好。

<item name="android:textColor">your color</item>