【发布时间】:2016-12-16 18:56:31
【问题描述】:
我在一个 android 应用程序中使用上下文菜单来提示用户选择一个过滤器。相关代码为:
TextView someView = (TextView) findViewById(id.some_view);
registerForContextMenu(someView);
...
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Select a Filter");
menu.add(0, 0, 0, "Filter1");
menu.add(0, 1, 1, "Filter2");
menu.add(0, 2, 2, "Filter3");
}
@Override
public boolean onContextItemSelected(MenuItem item)
{
if (item.getItemId() == 0)
{
...
}
else
{
...
}
return true;
}
在 styles.xml 文件中,我使用以下行:
<item name="android:itemBackground">@color/someColor</item>
设置option Menu 项目的背景颜色。我希望它们具有与Actionbar 相同的颜色。然而,效果是context Menu 也呈现相同的颜色。
我的问题是如何为 context Menu 的 Menu 项目或整个上下文菜单指定背景颜色。有没有办法单独设置?我可以在不影响context Menu 的情况下以其他方式设置option Menu 项目的背景颜色吗?
【问题讨论】: