【问题标题】:How to change Options menu dots color for the theme "Theme.AppCompat.Light.NoActionBar"如何更改主题“Theme.AppCompat.Light.NoActionBar”的选项菜单点颜色
【发布时间】:2016-07-04 19:09:54
【问题描述】:

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

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

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

【问题讨论】:

  • 将此添加到您的风格&lt;item name="colorControlNormal"&gt;#fff&lt;/item&gt;

标签: android android-optionsmenu


【解决方案1】:

最简单的方法是添加

&lt;item name="popupTheme"&gt;@style/ThemeOverlay.AppCompat.Light&lt;/item&gt;

或

&lt;item name="popupTheme"&gt;@style/ThemeOverlay.AppCompat.Dark&lt;/item&gt;

到您的主要主题,以便将其更改为浅色或深色。

编辑:为了为溢出图标添加任何颜色,您必须像这样覆盖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 等网站轻松创建自己的溢出图标

【讨论】:

  • 我可以在不改变我的基本主题的情况下做到这一点吗?
  • 最简洁的方式是通过主题。另一种方法是通过Java。您可以在Toolbar 中调用toolbar.setOverflowIcon(getDrawable())); 以直接更新颜色。请记住,如果您这样做,您将不得不在所有活动中每次都这样做
  • 但我需要添加自定义颜色,它可能不是浅色或深色
  • 但在这里我们再次更改了 src 图标。其实我需要改变图标点的颜色而不是改变图标。
  • 据我所知,溢出图标包含在默认主题中,我不记得有任何机制通过提供颜色来“着色”溢出菜单
【解决方案2】:

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

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

如果有效请放弃投票。

【讨论】:

    【解决方案3】:

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

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

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

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

    【讨论】:

      【解决方案4】:

      如果您使用的是 Toolbar,只需在您的 Activity 中添加以下代码:

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

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

      【讨论】:

        猜你喜欢
        • 2016-05-28
        • 1970-01-01
        • 2021-08-26
        • 2011-02-26
        • 1970-01-01
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多