Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何禁用菜单按钮和操作栏仍然存在_Android - Fatal编程技术网

Android 如何禁用菜单按钮和操作栏仍然存在

Android 如何禁用菜单按钮和操作栏仍然存在,android,Android,我在禁用菜单按钮时遇到问题,我不希望菜单按钮被启用,我通过在onPrepareOptionsMenu函数中返回false来禁用,但它会隐藏我的操作栏中的所有操作项,那么,如何在不影响我的操作栏的情况下禁用菜单按钮呢?硬件菜单按钮不受onPrepareOptionsMenu()的控制。一般来说,更改硬件按钮的行为不是一个好的做法,因为用户希望它以某种方式运行(我相信这是为了扩展溢出菜单) 如果您必须禁用它,您可以在我们的活动中听到它被按下,例如: public boolean dispatchKe

我在禁用菜单按钮时遇到问题,我不希望菜单按钮被启用,我通过在
onPrepareOptionsMenu
函数中返回
false
来禁用,但它会隐藏我的操作栏中的所有操作项,那么,如何在不影响我的操作栏的情况下禁用菜单按钮呢?

硬件菜单按钮不受
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);
}

你拿的是什么菜单按钮?是硬件菜单按钮吗?是操作栏上的溢出(三个垂直点)按钮吗?或者是导航栏上最近按钮旁边出现的溢出图标?哦,我忘了提到,我指的是一个硬件图标,但是else语句呢?我必须归还什么?假还是真?假。返回true会消耗按键。此False是否会影响其他硬件按钮?实际上,您应该返回super.dispatchKeyEvent()。我的错误。