Настройка меню Android Overflow, которое появляется при нажатии аппаратной кнопки
Я могу стилизовать меню переполнения, которое появляется из панели действий, но я не могу стилизовать меню переполнения, которое появляется из кнопки аппаратного меню.
Меня интересует стилизация состояний селектора для пункта в меню.
любые идеи приветствуются?
1 ответ
Решение
Для настройки всплывающего меню, которое отображается с помощью кнопки аппаратного меню, вам нужно иметь этот пункт в теме вашего приложения:
<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
может быть так:
<?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>