【发布时间】:2011-06-03 17:34:32
【问题描述】:
我正在尝试获取菜单键以显示以下内容:
- 长按可调出我应用的主屏幕(而不是默认软键盘)
- 正常按下可调出菜单。
我可以做任何一个,但不能同时做。我错过了什么?一些代码将不胜感激。
谢谢
这是我所拥有的:
@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;
}
【问题讨论】: