在我的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 ,其中收到了事件的最终传播(向上) ? 感谢
答案 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!