3

我在禁用菜单按钮时遇到问题,我不想启用菜单按钮,我通过返回功能禁用falseonPrepareOptionsMenu但它隐藏了我的操作栏中的所有操作项,那么如何在不影响我的操作栏的情况下禁用菜单按钮?

4

1 回答 1

7

硬件菜单按钮不受控制onPrepareOptionsMenu().一般来说,改变硬件按钮的行为并不是一个好习惯,因为用户希望它以某种方式运行(我相信这是扩展溢出菜单)。

如果您绝对必须禁用它,您可以在我们的活动中监听它,如下所示:

public boolean dispatchKeyEvent(KeyEvent event) {
    final int keycode = event.getKeyCode();
    final int action = event.getAction();
    if (keycode == KeyEvent.KEYCODE_MENU && action == KeyEvent.ACTION_UP) {
        return true; // consume the key press
    }
    return super.dispatchKeyEvent(event);
}
于 2013-03-31T17:03:07.977 回答