Idealmente, el cajón de navegación debería cerrarse una vez que se haya presionado algún elemento, pero no sucede automáticamente. Cómo hacerlo ? ¡Gracias!
android
navigation-drawer
Vipul J
fuente
fuente
Respuestas:
¡Entendido!
private DrawerLayout mDrawerLayout; mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerLayout.closeDrawers();
Funciona perfectamente bien.
fuente
Para mí este funcionó -
mDrawerLayout.closeDrawer(Gravity.START, false);
fuente
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); } }
fuente
En la parte inferior derecha de onNavigationItemSelected, donde termina la caja del interruptor, debe corregir esto. mDrawerLayout.closeDrawers ();
public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ } mDrawerLayout.closeDrawers(); return true; }
fuente
Si tiene mDrawerLayout como diseño de su cajón, puede cerrarlo cuando esté abierto.
@Override public void onBackPressed() { if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) { this.mDrawerLayout.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } }
fuente
closeDrawer();//when you want to call public void closeDrawer() { if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } }
fuente