2017-07-31 19 views
0

因此,我的活动主页中有一个抽屉布局,它就像这样。即使在更改应用程序后,抽屉布局仍保持打开状态

public void settingDrawer() { 
    if (drawer == null) { 
     drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     drawer.setScrimColor(Color.TRANSPARENT); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.addDrawerListener(toggle); 
     toggle.syncState(); 

     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     int width = getResources().getDisplayMetrics().widthPixels; 
     DrawerLayout.LayoutParams params = (android.support.v4.widget.DrawerLayout.LayoutParams) navigationView.getLayoutParams(); 
     params.width = width; 
     navigationView.setLayoutParams(params); 
    } 
} 

它工作得很好,但是当我改变活动,回来后(使用后退按钮或home键)的抽屉布局保持打开状态,我试图关闭它,当我使用startActivity()方法,但它只是不对。我认为我犯了一个错误,但我不知道在哪里。

+0

你期望什么?你有没有尝试在'onResume'而不是'startActivity'中关闭它? –

+0

@MehranZamani对不起,如果我的期望没有任何意义,我试图把它放在onResume并没有顺利运行,但我想我得到了什么问题的想法是 –

回答

0

当你要下一个活动,然后第一关抽屉这样

drawer.closeDrawer(GravityCompat.START); 

所以上面的代码将导航到下一个页面之前关闭你的抽屉,当你回到活动,则抽屉已经被关闭。

+0

它导致滞后时,抽屉正在关闭。 –

相关问题