如何关闭导航抽屉时,一个项目是从它按?

理想的导航抽屉应该得到关闭,一旦一些项目已经从它被按下,但它不会自动发生。怎么做? 谢谢!

81521 次浏览

Got it!

private DrawerLayout mDrawerLayout;
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerLayout.closeDrawers();

Working perfectly fine.

For me this one worked -

mDrawerLayout.closeDrawer(Gravity.START, false);
closeDrawer();//when you want to call


public void closeDrawer() {
if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
}
}
DrawerLayout mDrawerLayout= (DrawerLayout) findViewById(R.id.drawer_layout)


closeDrawer(); // called when you want to close


public void closeDrawer() {
if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
mDrawerLayout.closeDrawer(GravityCompat.START);
}
}

On the right bottom of onNavigationItemSelected where the switch case ends you should right this. mDrawerLayout.closeDrawers();

public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){


}
mDrawerLayout.closeDrawers();
return true;
}

If you have mDrawerLayout as your drawer layout, you can close it when it is open.

@Override
public void onBackPressed() {
if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
this.mDrawerLayout.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}

This work,kotlin code

drawerLayout.closeDrawer(GravityCompat.START)