android中的上下文菜单

时间:2012-06-08 18:28:32

标签: android menu

我已经推荐了很多文章,但我没有得到“如果任何用户点击手机的菜单按钮,那么它将只显示选项菜单而非上下文菜单... 如果有其他方法通过单击移动设备上的菜单按钮显示上下文菜单,请建议我。

2 个答案:

答案 0 :(得分:1)

我的关注链接是您正在寻找的: Android: How can I set a listener to the MenuButton?

即。 通常您不应该覆盖MENU行为,因为用户希望菜单出现,但您可以使用以下内容:

/* 
 * @see android.app.Activity#onKeyDown(int, android.view.KeyEvent)
 */
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ( keyCode == KeyEvent.KEYCODE_MENU ) {
        Log.d(TAG, "MENU pressed");
        // Your context opening code....
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

答案 1 :(得分:0)

  

从Android 3.0(API级别11)开始,不再需要Android设备提供专用菜单按钮。

来自the documentation

因此,虽然我会反对这一点,但这是解决问题的方法之一。

如果要显示ContextMenu而不是选项菜单,请在onPrepareOptionsMenu()中添加如下命令:

openContextMenu(getCurrentFocus());