如何更改主题"Theme.AppCompat.Light.NoActionBar"的选项菜单点颜色

Har*_*nan 6 android android-optionsmenu

要更改默认选项菜单图标颜色(3垂直dote),我尝试添加

<item name="android:textColorSecondary">@color/white</item>
Run Code Online (Sandbox Code Playgroud)

但它没有任何改变.我认为它不起作用因为我的AppTheme父是Theme.AppCompat.Light.NoActionBar.所以有人可以帮我这个吗?

Ale*_*tyl 15

最简单的方法是添加

<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>

要么

<item name="popupTheme">@style/ThemeOverlay.AppCompat.Dark</item>

到您的主要主题,以将其更改为亮或暗.

编辑:为了为溢出图标添加任何颜色,你必须覆盖actionOverflowButtonStyle类似的:

<style name="Theme.MyAppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="actionOverflowButtonStyle">@style/OverFlow</item>
  </style>

  <style name="OverFlow" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_overflow_icon</item>
  </style>
Run Code Online (Sandbox Code Playgroud)

您可以从Android Asset Studio等网站轻松创建自己的溢出图标

  • 最干净的方法是通过主题。另一种方法是通过Java。您可以在“工具栏”中调用“ toolbar.setOverflowIcon(getDrawable()));”以直接更新颜色。请记住,如果您这样做,则必须在所有活动中都花费一次 (2认同)

小智 5

2019 - 最简单的方法是将以下代码写入工具栏代码中的 xml 或您想要的位置。

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
Run Code Online (Sandbox Code Playgroud)

如果它的工作,请放弃投票。