Android:锁定抽屉时如何使用onBackPressed关闭抽屉

时间:2020-07-21 00:32:51

标签: android navigation-drawer drawerlayout onbackpressed

我的应用程序中有一个非常标准的DrawerLayout。在这个特定的应用程序中,我只需要单击图标即可打开抽屉,而不要刷卡,因此除非用户按下适当的图标,否则抽屉锁定模式设置为LOCKED_CLOSED。

要关闭抽屉,我希望用户能够使用抽屉图标,操作栏上的主页图标或本机的“后退”按钮。前两个工作正常,但后退按钮确实不能。这是代码:

@Override
public void onBackPressed() {
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    if (drawer.isDrawerOpen(GravityCompat.END)) {
    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
    drawer.closeDrawer(GravityCompat.END);
    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    }else{
        super.onBackPressed();
    }
}

我在做什么错?我应该在抽屉布局对象而不是抽屉上调用set lock模式方法吗?

0 个答案:

没有答案
相关问题