How to Change the Background and Text Color of Android ActionBar Option Menu
Android action bar option menu is also known as overflow menu which is shown to the users when they click/press the menu key on android phone and tablet. Options menu can be customized according to our need, we can set or change the background color and text color. You can’t change the text and background color using android themes. In this tutorial, you will learn how to change the background color of android action bar option menu programmatically.
Changing the background color of your android app option menu is not the very difficult. Someone write it as difficult and tricky but here I am going to show you to change background and text color of your app option menu with simplest ways. Following is the step by step guide to change the background color of android option menu/ overflow menu.
Android Example: Change the Background & Text Color of Android Option Menu
Following is the content different files of android project to change the background and text color of android overflow menu.
Java Activity File
Following is the complete code of java activity file. Here you will see two override methods to add menu items in android application, onCreateOptionsMenu and onOptionsItemSelected .
src/ OverflowMenuBackgroundColor.java
Option Menu Items
Here I have added three items for option menu.
Styles.xml File
To add background and text color of overflow menu just add two line of more code android:textColor and itemBackground in your project styles.xml file. Following is the complete content of styles.xml file.
res/values/styles.xml
Colors.xml File
In this file I have defined different color value for option menu background, app text color, accent color, toolbar/app bar color, etc.
Источник
Как изменить цвет фона в меню панели действий в Android 4.2?
Я хотел бы изменить цвет фона меню option (overflow) в Android 4.2. Я пробовал все методы, но он по-прежнему показывает цвет по умолчанию задается тема. Я использовал следующий код и XML конфиги.
MainActivity.java
цвета.xml
выше setMenuBackground не принимает никаких эффект:
на картинке выше, Я хочу изменить фон в меню с черного на синий цвет в панели действий. Как я могу достичь этого, и что я сделал неправильно?
14 ответов:
существует простой способ изменить цвета в Actionbar Используйте Генератор ActionBar скопировать и вставить все файлы в папке res папка и изменить тему в Android.файл манифеста.
The Генератор Стиля Панели Действий,предложено Солнечный, очень полезно, но он генерирует много файлов, большинство из которых не имеют значения, если вы только хотите изменить цвет фона.
Итак, я углубился в zip, который он генерирует, и попытался сузить, какие части имеют значение, поэтому я могу внести минимальное количество изменений в свое приложение. Ниже то, что я узнал.
In генератор стиля, соответствующая настройка цвет всплывающего окна, который влияет на «переполнение меню, подменю и фон панели spinner».
продолжайте и создайте zip, но из всех созданных файлов вам действительно нужно только одно изображение, menu_dropdown_panel_example.9.png , который выглядит примерно так:
Итак, добавьте различные версии разрешения в res/drawable-* . (И, возможно, переименовать им до menu_dropdown_panel.9.png .)
затем, в качестве примера, в res/values/themes.xml у вас будет следующее, С android:popupMenuStyle и android:popupBackground ключевое параметры.
и, конечно, в AndroidManifest.xml :
что вы получаете с этой установкой:
обратите внимание, что я использую Theme.Holo.Light в качестве базовой темы. Если вы используете Theme.Holo (Holo Dark), есть дополнительный шаг нужен как этот ответ описывает!
кроме того, если вы (как и я) хотели, чтобы стиль всей панели действий, а не только в меню, поставить что-то вроде этого в res/drawable/blue_action_bar_background.xml :
отлично работает, по крайней мере, на Android 4.0+ (уровень API 14+).
в случае, если люди все еще посещают для рабочего решения, вот что сработало для меня:— это для библиотеки поддержки Appcompat. Это в продолжение к верхней панели стайлинга пояснил, что
Ниже приведены стили.XML-файл.
и вот как это выглядит—MenuItem цвет фона skyblue и MenuItem цвет текста розовый с textsize как 25sp:—
Если Вы читаете это, это наверное, потому, что все предыдущие ответы не работает для Холо Темный тема.
Holo Dark использует дополнительную обертку для PopupMenus, поэтому после выполнения что Jonik предложил вы должны добавить следующий стиль в ваш ‘ xml ‘ файл:
затем ссылайтесь на него в своем тематическом блоке:
мой простой трюк, чтобы изменить цвет фона и цвет текста во всплывающем меню / меню опций
вы можете применять стили и темы в переполнении меню, как показано ниже. Меню переполнения-это ListView, поэтому мы можем применить тему в соответствии с listview.
применить ниже код в стилях.xml
в случае, если вы работаете в последней панели инструментов в android studio, то вот самое маленькое решение Чтобы изменить цвет меню параметров панели инструментов, добавьте его в элемент панели инструментов
тогда в ваших стилях.xml определяет стиль всплывающего меню
обратите внимание, что вам нужно использовать colorBackground не фон. Последний будет применяться ко всему (само меню и каждый пункт меню), Первый применяется только к всплывающему меню.
я смог изменить цвет переполнения действия, просто поставив шестнадцатеричное значение в:
Я также поражен этой же проблемой, наконец, я получил простое решение. просто добавил одну строку в стиль панели действий.
«android: colorBackground» достаточно изменить фон меню опций
затем добавьте эти конкретные стили в свои стили AppTheme
попробуйте этот код. Добавьте этот фрагмент в res>values > styles.xml
и в Манифесте.xml добавить ниже фрагмент под приложением
добавить следующий код Styles.xml
изменить тему в activity_main.xml только.
Ниже приведены изменения, необходимые в вашей теме для изменения цвета фона панели действий и меню переполнения. Вам нужно настроить «android: фон» actionBarStyle & popupMenuStyle
Источник