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

时间:2016-07-04 19:09:54

标签: android android-optionsmenu

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

<item name="android:textColorSecondary">@color/white</item>

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

4 个答案:

答案 0 :(得分:11)

最简单的方法是添加

<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>

您可以从Android Asset Studio

等网站轻松创建自己的溢出图标

答案 1 :(得分:0)

2019年-最简单的方法是在工具栏代码或所需位置将以下代码写入xml中。

android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

如果投票成功,请放弃投票。

答案 2 :(得分:0)

如果您使用的是工具栏,只需在“活动”中添加以下代码:

toolbar.setOverflowIcon(getDrawable(R.drawable.ic_more_vert_black_24dp));

通过使用此代码,您可以将“三个点”图标直接替换为您选择的任何其他图标。它对我有用。

答案 3 :(得分:0)

您可以使用自己的 drawable 或获取默认的 overFlowIcon 并更改其 tint 值,如下所示:

bd.toolbar.overflowIcon?.setTint(Color.WHITE)

要一起更改可绘制对象,您只需创建自己的矢量并如下设置:

bd.toolbar.overflowIcon = ContextCompat.getDrawable(this,R.drawable.ic_baseline_menu_24)