user3172337 user3172337 - 2 months ago 16
Android Question

How to change background color popup menu android

I generate each option of menu from querying database.
Here is my code.

final PopupMenu popupMenu = new PopupMenu(getBaseContext(), v);
SQLiteDatabase db = AdapterDb.getReadableDatabase();
Cursor cursor = db.rawQuery(sql, null);
int ctritem = 0;
if (cursor.moveToFirst()) {
popupMenu.getMenu().add(Menu.NONE, ctritem, Menu.NONE, "ALL ITEMS");
do {
ctritem++;
popupMenu.getMenu().add(Menu.NONE, ctritem, Menu.NONE, cursor.getString(0));
} while (cursor.moveToNext());
}


Everything is okay, but the problem is how to change color of option menu or background color of popup menu (from black to white), Is it possible ?
Thanks

Answer Source

Add popupMenu style to ur AppTheme:

<style name="AppTheme" parent="android:Theme.Light">
    <item name="android:popupMenuStyle">@style/PopupMenu</item>
</style>

<style name="PopupMenu" parent="@android:style/Widget.PopupMenu">
    <item name="android:popupBackground">@android:color/white</item>
</style>

manifest.xml:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
.............
</application>