首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何更改android弹出菜单的背景色

如何更改android弹出菜单的背景色
EN

Stack Overflow用户
提问于 2014-01-20 18:23:50
回答 10查看 85.3K关注 0票数 36

我从查询数据库中生成菜单的每个选项。这是我的代码。

代码语言:javascript
复制
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());
}

一切都好,但问题是如何改变选项菜单的颜色或弹出菜单的背景颜色(从黑色到白色),这是可能的吗?谢谢

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2014-01-20 18:31:28

将popupMenu样式添加到您的AppTheme:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
.............
</application>
票数 61
EN

Stack Overflow用户

发布于 2015-06-09 19:48:27

如果您使用的是AppCompact-v7,则可以按如下方式设置PopupMenu的样式:

代码语言:javascript
复制
 <style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="popupMenuStyle">@style/popupMenuStyle</item>
</style>

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

注意: PopMenu总是使用Activity Context,而不是Application context。

票数 12
EN

Stack Overflow用户

发布于 2016-03-29 20:42:49

如果您使用的是AppCompat主题,则使用

代码语言:javascript
复制
<style name="PopupMenu" parent="Widget.AppCompat.PopupMenu">
    <item name="android:popupBackground">@android:color/black</item>

</style>

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

否则

代码语言:javascript
复制
<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>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21231404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档