我可以设置从操作栏弹出的溢出菜单,但是我无法设置从硬件菜单按钮弹出的溢出菜单。
我对菜单中项目的选择器样式感兴趣。
欢迎任何想法?
答案 0 :(得分:2)
要自定义使用硬件菜单按钮显示的弹出菜单,您需要在应用主题中包含此项目:
<style name="CustomTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:itemBackground">@drawable/ab_item_selector</item>
</style>
您可以根据需要更改@style/Theme.AppCompat.Light
(Holo
或其他内容)。然后,名为ab_item_selector
的drawable可能是这样的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selected state -->
<item
android:drawable="@drawable/item_selected"
android:state_selected="true"></item>
<!-- pressed state -->
<item
android:drawable="@drawable/item_pressed"
android:state_pressed="true"></item>
<!-- normal state -->
<item
android:drawable="@drawable/item_disabled"></item>
</selector>
希望这会有所帮助。
更新
对于分隔线,我不确定但可能是:
<style name="CustomTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:dropDownListViewStyle">@style/CustomDropDown</item>
<item name="dropDownListViewStyle">@style/CustomDropDown</item>
</style>
<style name="CustomDropDown" parent="@style/Widget.AppCompat.Light.ListView.DropDown">
<item name="android:dividerHeight">1dip</item>
<item name="android:divider">@drawable/dropdown_divider</item>
</style>