如何在onKeyDown方法中控制滑动菜单



我想实现当我在手机上点击"返回"按钮时,菜单显示的功能。然后我写下面的代码:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) &&(event.getRepeatCount() == 0)) {
            if(!getSlidingMenu().isMenuShowing()){
                toggle();
                //getSlidingMenu().showMenu();
            }

但事实上,如果"getSlidingMenu(). ismenushowing ()==true"菜单将被取消。如果(!getSlidingMenu(). ismenusating()),菜单只会出现很短的时间,然后自动消失。我想让菜单显示出来

onBackPressed在Android设备的'back'按钮被按下时调用。

因此,您需要重写前面提到的onBackPressed。你的逻辑是部分正确的,但它必须在onBackPressed

下面的代码片段应该工作(如果我正确理解你的问题):

public void onBackPressed() 
{   
    if (!getSlidingMenu().isMenuShowing()) {
        super.toggle();
    } else {
        super.onBackPressed(); // invoke super's method or other logic?
    }
}

这是Android的onBackPressed()的文档-添加在API级别5

Called when the activity has detected the user's press of the back key. The 
default implementation simply finishes the current activity, but you can override 
this to do whatever you want.

相关内容

  • 没有找到相关文章

最新更新