0

我正在使用 actionbarsherlock 来监听按键事件,如果是硬件菜单按钮,我会强制菜单像这样显示

public boolean onKeyDown(int keyCode, KeyEvent event) {
try {
    if(event.getAction() == KeyEvent.ACTION_DOWN){
        switch(keyCode) {
        case KeyEvent.KEYCODE_MENU:
            if (mMenu != null && mMenu.findItem(R.id.training_action_menu_group1) != null) {
                mMenu.performIdentifierAction(R.id.training_action_menu_group1, Menu.FLAG_PERFORM_NO_CLOSE);
            }

            return true;  
        }
    }
    return false;
} catch (Exception e) {
    ErrorUtil.handleSilentException(e);
    Log.e(TAG, "Error onKeyDown", e);
}
return false;
}

问题在于,当用户将手指放在硬件菜单按钮上时,菜单会显示出来,而当他将手指移开时 - 菜单会关闭。这发生在 SGS 3 和其他设备上。该标志Menu.FLAG_PERFORM_NO_CLOSE似乎与此问题无关,但它以某种方式解决了其他 android 2.3 手机的问题。

当用户将手指移出按钮时,如何让菜单保持打开状态?

4

0 回答 0