AppCompat工具栏:如何在ActionMode中更改溢出菜单图标的颜色?

40
使用AppCompat工具栏,我想要能够在ActionMode改变时改变溢出菜单图标的颜色。
例如,在常规工具栏模式下,溢出图标将是白色的。而在ActionMode下会变成黑色。到目前为止,我已经成功地更改了操作模式的背景以及标题文本。但我还没有找到改变溢出菜单图标颜色的方法。
我知道有一个答案: Change ActionMode Overflow icon 我尝试过第一个解决方案,但我找不到溢出图标。
即使延迟50L,第二个解决方案也会使溢出菜单图标在短暂的一瞬间闪烁ActionMode的预期颜色,这非常刺眼。
12个回答

2
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="actionOverflowButtonStyle">@style/CustomOverflowButtonStyle</item>
</style>
<style name="CustomOverflowButtonStyle" parent="Widget.AppCompat.ActionButton.Overflow">
    <item name="android:tint">@color/black</item>
</style>

虽然这段代码可能回答了问题,但是提供关于为什么和/或如何回答问题的额外上下文可以提高其长期价值。 - xiawi

1
如果你想要一个白色的溢出菜单图标,只需在你的工具栏布局代码中添加android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
如果你想要一个黑色的溢出菜单图标,则使用android:theme="@style/Base.Widget.AppCompat.Light.PopupMenu"
所以最终的代码应该是这样的:
<android.support.v7.widget.Toolbar
        android:id="@+id/a_main_tb"
        android:layout_width="match_parent"
        android:layout_height="?actionBarSize"
        android:background="@color/colorPrimary"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:title="@string/app_name"
        app:titleTextColor="#ffffff"
        />

此外,您需要了解它也会改变菜单项的颜色。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接