我想创建选项菜单并在列表顺序中显示选项菜单中的菜单项。
菜单1
菜单2
菜单3
答案 0 :(得分:5)
我努力做同样的事情,这就是最终的工作。基本上,我没有显示选项菜单,而是使用了上下文菜单。
首先,您需要捕获菜单键并使其显示上下文菜单:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
View view = findViewById(R.id.for_context);
registerForContextMenu(view);
openContextMenu(view);
unregisterForContextMenu(view);
return true;
}
return super.onKeyDown(keyCode, event);
}
您必须将此上下文菜单附加到窗口中的视图,任何没有自己的实际上下文菜单的视图。我使用了窗口中的一个布局。
然后,膨胀菜单:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
if (v instanceof TableLayout) {
inflater.inflate(R.menu.my_context_menu, menu);
}
}
my_context_menu.xml的定义与选项菜单完全相同。
最后一步是处理onContextItemSelected(MenuItem项)中的菜单按下,您可以将其重定向到onOptionsItemSelected(MenuItem项)。
当然,这仅适用于您希望像上下文菜单一样显示菜单:没有图标,只是垂直列表中的菜单标签。
答案 1 :(得分:2)
您是否阅读过this?阅读你的问题,我认为你甚至没有用Google搜索过它......
答案 2 :(得分:1)
答案 3 :(得分:0)
您可能需要查看http://solutionsinhand.com/android/MenuDialogDemo.zip。 使用MenuDialog,您可以创建各种菜单。