我的AppCompatActivity axml使用Android.Support.v7.Widget.Toolbar,而Activity将工具栏设置为SetSupportActionBar(toolbar);
。一切都按预期工作,但我想覆盖整个活动的OnKeyDown事件,以防止硬件按钮单击。似乎SupportActionBar(只是一个ActionBar)使用硬件菜单按钮的事件,因此活动的OnKeyDown从不捕获菜单按钮单击。
我已尝试覆盖工具栏视图及其OnKeyDown事件,但SupportActionBar也会使用此事件。
我的工作是添加一个看起来像Overflow Menu图标的菜单项,并在OnOptionsItemSelected中打开一个弹出窗口。但是,这并不理想。
答案 0 :(得分:-1)
您可以在Activity中覆盖onKeyDown / onKeyUp处理程序。
@Override
public boolean onKeyDown(int keyCode, final KeyEvent event) {
if( keyCode == KeyEvent.KEYCODE_MENU ) {
return true; // Ignore the keypress
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, final KeyEvent event) {
if( keyCode == KeyEvent.KEYCODE_MENU )
return true; // Ignore the keypress
}
return super.onKeyUp(keyCode, event);
}