即使在更改应用程序后,抽屉布局仍保持打开状态
问题描述:
因此,我的活动主页中有一个抽屉布局,它就像这样。即使在更改应用程序后,抽屉布局仍保持打开状态
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()方法,但它只是不对。我认为我犯了一个错误,但我不知道在哪里。
答
当你要下一个活动,然后第一关抽屉这样
drawer.closeDrawer(GravityCompat.START);
所以上面的代码将导航到下一个页面之前关闭你的抽屉,当你回到活动,则抽屉已经被关闭。
+0
它导致滞后时,抽屉正在关闭。 –
你期望什么?你有没有尝试在'onResume'而不是'startActivity'中关闭它? –
@MehranZamani对不起,如果我的期望没有任何意义,我试图把它放在onResume并没有顺利运行,但我想我得到了什么问题的想法是 –