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

时间:2016-05-14 18:10:43

标签: android android-xml android-menu

我在设置工具栏时遇到了问题,当我点击某个项目时,更确切地说是我的溢出菜单。

我的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"/>

但是当我登上我的溢出菜单项时,我出现了文本按钮但是当我克隆它时,背景颜色没有设置为&#34; cardViewcolor&#34; (有点蓝色)。 谢谢你的帮助, 亚斯。

1 个答案:

答案 0 :(得分:1)

当我点击溢出菜单中的文本按钮时,我发现通过i的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>

它有效。我希望这会有所帮助。 亚斯。