Android菜单选项

时间:2011-01-03 14:54:38

标签: android

我想创建选项菜单并在列表顺序中显示选项菜单中的菜单项。

菜单1

菜单2

菜单3

4 个答案:

答案 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,您可以创建各种菜单。