导航抽屉;关键事件传播

时间:2014-12-15 11:21:31

标签: android navigation-drawer keyevent onkeydown

在我的Activity中,我覆盖 onKeyDown 函数来控制已打开的NavigationDrawer上的键盘操作,就像这个片段一样

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        if (mLeftDrawer.isShown()) {
            mDrawerLayout.closeDrawer(mLeftDrawer);
            return false;
        }
    }
    return super.onKeyDown(keyCode, event);
}

返回 false 而非 true ,其中收到了事件的最终传播(向上) ? 感谢

1 个答案:

答案 0 :(得分:0)

嗨GPack我在我的应用程序中做同样的事情,控制keycode_back来控制一点导航抽屉,但是我使用了不同的代码,如下所示:

public boolean onKeyDown(int keyCode, KeyEvent event)
{
    //Control Navigation
    //Floors level
    if(keyCode == KeyEvent.KEYCODE_BACK && ActualFragment == 0)
    {
        if(drawerMenu.isDrawerOpen(Gravity.LEFT)){
            drawerMenu.closeDrawers();
        }
        else{
            RemoveAndReplaceFragment_ToFloors(getFragmentManager());
            this.moveTaskToBack(true);
        }

        return true;
    }

    return false;
}

我认为这是你需要的......如果你需要更多的帮助或者相同,请告诉我! 祝你好运GPack!