В идеале панель навигации должна закрываться после того, как из нее был нажат какой-либо элемент, но это не происходит автоматически. Как это сделать ? Благодаря!
android
navigation-drawer
Vipul J
источник
источник
Ответы:
Понял!
private DrawerLayout mDrawerLayout; mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerLayout.closeDrawers();
Работает отлично.
источник
Для меня это сработало -
mDrawerLayout.closeDrawer(Gravity.START, false);
источник
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); } }
источник
В правом нижнем углу onNavigationItemSelected, где заканчивается корпус переключателя, вы должны это исправить. mDrawerLayout.closeDrawers ();
public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ } mDrawerLayout.closeDrawers(); return true; }
источник
Если у вас есть mDrawerLayout в качестве макета ящика, вы можете закрыть его, когда он открыт.
@Override public void onBackPressed() { if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) { this.mDrawerLayout.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } }
источник
closeDrawer();//when you want to call public void closeDrawer() { if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } }
источник