我在禁用菜单按钮时遇到问题,我不想启用菜单按钮,我禁用是在false
函数中返回onPrepareOptionsMenu
,但它隐藏了我的操作栏中的所有操作项,那么如何在不影响我的操作栏的情况下禁用菜单按钮?
答案 0 :(得分: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);
}