【发布时间】:2015-05-26 08:26:41
【问题描述】:
我想阻止设备的菜单按钮按下事件。
到目前为止,我已经使用了这个代码:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
return (keyCode == KeyEvent.KEYCODE_MENU || super.onKeyDown(keyCode, event));
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return (keyCode == KeyEvent.KEYCODE_MENU || super.onKeyUp(keyCode, event));
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
int action = event.getAction();
boolean isDown = action == 0;
if (keyCode == KeyEvent.KEYCODE_MENU) {
return isDown ? this.onKeyDown(keyCode, event) : this.onKeyUp(keyCode, event);
}
return super.dispatchKeyEvent(event);
}
当我按下菜单按钮时,onKeyDown、onKeyUp、dispatchKeyEvent 方法不会被调用。我看到了菜单列表。
还有其他方法可以屏蔽菜单按钮吗?
PS:我使用的是 appcompat-v7:22
【问题讨论】:
-
为什么?你控制菜单,只是不要给它任何菜单项。
-
但我需要工具栏菜单中的项目。问题是我不想在用户单击菜单按钮时显示菜单。
标签: android