如何在android中关闭导航抽屉

问题描述

我的应用程序有一个导航抽屉。从抽屉选项中,我打开了不同的活动。那时新Activity前会显示一个空白屏幕。

@覆盖 public boolean onNavigationItemSelected(@NonNull MenuItem item) {

switch (item.getItemId()) {
    case R.id.nav_message:

        Intent newAct = new Intent(getApplicationContext(),FeedbackActivity.class);
        startActivity(newAct);
    
       break;


}


drawer.closeDrawer(Gravity.RIGHT);
return true;

}

根据一些调查,我发现我们需要从中删除以下代码。尝试了相同的并且工作正常。

drawer.closeDrawer(Gravity.RIGHT);
    return true;

但是当我点击新活动的后退按钮时,抽屉仍然处于打开状态。如果没有那个黑屏,我如何关闭

解决方法

您是否尝试过将 GRAVITY.START 作为参数传递给 drawer.close(int gravity),如下所示:

switch (item.getItemId()) {
    case R.id.nav_message:

        Intent newAct = new Intent(getApplicationContext(),FeedbackActivity.class);
        startActivity(newAct);
    
       break;


}



drawer.closeDrawer(GravityCompat.START);
return true;

并且不要忘记用 findViewById()

初始化抽屉对象 ,

尝试禁用抽屉菜单动画并在开始新活动之前调用 closeDrawer

    drawer.closeDrawer(Gravity.RIGHT,false);
    switch (item.getItemId()) {
    case R.id.nav_message:

        Intent newAct = new Intent(getApplicationContext(),FeedbackActivity.class);
        startActivity(newAct);
    
       break;


}

return true;