I\'d like to change the background color of the option (overflow) menu in Android 4.2. I have tried all the methods but it is still showing the default color set by the them
The Action Bar Style Generator, suggested by Sunny, is very useful, but it generates a lot of files, most of which are irrelevant if you only want to change the background colour.
So, I dug deeper into the zip it generates, and tried to narrow down what are the parts that matter, so I can make the minimum amount of changes to my app. Below is what I found out.
In the style generator, the relevant setting is Popup color, which affects "Overflow menu, submenu and spinner panel background".
Go on and generate the zip, but out of all the files generated, you only really need one image, menu_dropdown_panel_example.9.png
, which looks something like this:
So, add the different resolution versions of it to res/drawable-*
. (And perhaps rename them to menu_dropdown_panel.9.png
.)
Then, as an example, in res/values/themes.xml
you would have the following, with android:popupMenuStyle
and android:popupBackground
being the key settings.
And, of course, in AndroidManifest.xml
:
What you get with this setup:
Note that I'm using Theme.Holo.Light
as the base theme. If you use Theme.Holo
(Holo Dark), there's an additional step needed as this answer describes!
Also, if you (like me) wanted to style the whole Action Bar, not just the menu, put something like this in res/drawable/blue_action_bar_background.xml
:
-
-
Works great at least on Android 4.0+ (API level 14+).