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

标签 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"/>

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

最佳答案

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

将此添加到主题中:

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

像这样定义可绘制对象:

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

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

关于android - 单击 android KitKat (4.4) 时溢出菜单的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37230221/

相关文章:

java - 尽管没有在任何地方清除,但构造函数中的 ArrayList 分配的数据正在丢失其数据

android - 在 android 位图 xml 上设置背景颜色

android - 复制谷歌加 float 工具栏菜单

android - 如何在 coordinatorlayout 中安排 View ?

java - 如何将数据字符串存储到数组中

android - showAsAction = "always"在工具栏中被忽略

android - Android 上下文菜单创建中的 getMenuInflater() 方法未定义问题

android - 我需要在未插入计算机时调试我的 Android 应用程序

java - Android - 离开 Activity 时停止所有线程

Android 位图大于 heapSize