单击 android KitKat (4.4) 时溢出菜单的背景颜色

Background color of overflow menu when CLICKED android KitKat (4.4)

我在设置工具栏样式时遇到问题,更准确地说是在单击某个项目时设置溢出菜单。

我的xml样式文件是这样的:

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="colorControlHighlight">@color/cardViewColor</item>
    <item name="actionOverflowButtonStyle">@style/overflowButtonStyle</item>
    <item name="actionBarItemBackground">@drawable/background_action_item_toolbar</item>
    <item name="popupMenuStyle">@style/background_action_menu_overflow_textcolor</item>
</style>


 <style name="background_action_menu_overflow_textcolor" parent="Widget.AppCompat.Light.PopupMenu.Overflow">

    <item name="android:popupBackground">@drawable/background_action_menu_overflow_textcolor</item>
</style>

我的选择器文件是这样的(带有应答器):

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@color/cardViewColor" android:state_pressed="true"
android:state_focused="true"

/>
<item android:drawable="@android:color/white"/>

但是当我点击溢出菜单项时,出现了文本按钮,但是当我点击它时,背景颜色未设置为 "cardViewcolor"(某种蓝色)。 谢谢你的帮助, 亚斯

我发现 xml 属性是通过单击溢出菜单中的文本按钮时可以更改背景颜色。

将此添加到主题中:

<item name="listChoiceBackgroundIndicator">@drawable/background_action_menu_overflow_textcolor</item>

drawable 定义如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"        android:drawable="@color/cardViewColor"/>
   <item android:drawable="@android:color/white"/>
</selector >

并删除主题定义中的这一行:

<item name="popupMenuStyle">@style/background_action_menu_overflow_textcolor</item>

它 works.I 希望这会有所帮助。 亚斯