我在设置工具栏时遇到了问题,当我点击某个项目时,更确切地说是我的溢出菜单。
我的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; (有点蓝色)。 谢谢你的帮助, 亚斯。
答案 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>
它有效。我希望这会有所帮助。 亚斯。