Настройка меню 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>  
Другие вопросы по тегам