我正在尝试获取菜单键以显示以下内容:
- 长按调出我的应用的主屏幕(而不是默认的软键盘)
- 在正常情况下按调出菜单。
我可以做其中之一,但不能同时做。我错过了什么?一些代码将不胜感激。
谢谢
这是我的:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_MENU)
{
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_MENU && event.isTracking() && !event.isCanceled())
{
this.openOptionsMenu();
}
return super.onKeyUp(keyCode,event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_MENU){
if ( _activityId != WndId.Home)
{
navigateHome(NavDirection.Up);
return (true);
}
}
return super.onKeyLongPress(keyCode,event);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.muve_menu, menu);
return true;
}
最佳答案
所以如果你调用 this.openOptionsMenu();在 onKeyUp() 中,您可以在常规屏幕上显示菜单,并且通过重定向到主屏幕来覆盖软键盘。
关于android - 覆盖菜单长按调出应用程序主屏幕和正常按调出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6230590/