我有一个问题,想要禁用菜单按钮,不希望菜单按钮启用,我通过在onPrepareOptionsMenu
函数中返回false
来禁用它,但是这隐藏了我的操作栏中的所有操作项,那么如何在不影响我的操作栏的情况下禁用菜单按钮?
我有一个问题,想要禁用菜单按钮,不希望菜单按钮启用,我通过在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);
}