2017-01-26 6 views
3

я сделать пункты меню, которые имеют цвет фона, я хочу при нажатии кнопки, что кнопка меню выбранного элемента станет другим цветом, как показано ниже изображения:изменение цвета кнопки меню при нажатии на андроид

enter image description here

и его мой пользовательский стиль:

<style name="Menu"> 
     <item name="android:colorBackground">@color/white</item> 
     <item name="android:textColor">@color/colorAccent</item> 
     <item name="android:background">@drawable/item_bg_menu</item> 
     </style> 

item_bg_menu:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item 
    android:state_focused="true" 
    android:state_pressed="true" 
     android:drawable="@color/white" /> 

    <item 
     android:state_pressed="true" 
     android:drawable="@color/gray" /> 

</selector> 

и это способ я использую меню:

app:popupTheme="@style/Menu" 
+0

опубликовать меню и файл XML. Ищите дополнение в текстовом виде – W4R10CK

+0

Я думаю, что этот вопрос повторяется. См. Эту ссылку http://stackoverflow.com/questions/26585045/android-background-color-when-menu-item-is-pressed –

+0

Возможный дубликат [Как изменить цвет фона меню опций Action Bar в Android 4.2? ] (http://stackoverflow.com/questions/19659637/how-to-change-the-background-color-of-action-bars-option-menu-in-android-4-2) – jakubbialkowski

ответ

2

Самый лучший и самый простой способ это сделать свой собственный стиль. В этом случае название меню

<style name="Menu"> 
    <item name="android:colorBackground">@color/gray</item> //color of background menu 
    <item name="android:textColor">@color/white</item>  //text color 
    <item name="android:listSelector">@drawable/item_bg_menu</item>  //this is for when button press color changed 
    </style> 

item_bg_menu

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:state_pressed="true" android:drawable="@color/black" /> //color when button press 

</selector> 

и где вы хотите использовать это меню в вашем шлагбауме просто добавить этот app:popupTheme="@style/Menu"

Смежные вопросы