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()。我的错误。