我正在从以下位置使用MaterialDrawer: https://github.com/mikepenz/MaterialDrawer
,当用户按下“后退”按钮时,该应用将向后进行一项活动,而不仅仅是关闭抽屉。
是错误还是有解决的方法?
答案 0 :(得分:0)
如果按下后退按钮打开抽屉,只需合上抽屉
@override
public void onBackPressed(){
//DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
DrawerLayout drawerLayout = result.getDrawerLayout();
if(drawerLayout.isDrawerOpen(GravityCompat.START)) {
//drawer is open
drawerLayout.closeDrawer(GravityCompat.START);
//result.closeDrawer();
}
}
答案 1 :(得分:0)
这是预期的行为。如果要关闭“后退抽屉”功能,则必须覆盖onBackPressed()
功能。
首先获取对您的 DrawerLayout
的引用:
DrawerLayout myDrawer = (DrawerLayout) findViewById(R.id.my_drawer);
然后覆盖 onBackPressed()
函数以在打开抽屉时关闭抽屉,而不是关闭活动:
@Override
public void onBackPressed() {
if (myDrawer.isDrawerOpen(GravityCompat.START)) {
myDrawer.closeDrawer(GravityCompat.START);
}
else {
super.onBackPressed();
}
}
希望有帮助。