Im Idealfall sollte die Navigationsschublade geschlossen werden, sobald ein Element gedrückt wurde, dies geschieht jedoch nicht automatisch. Wie es geht ? Vielen Dank!
android
navigation-drawer
Vipul J.
quelle
quelle
Antworten:
Ich habs!
private DrawerLayout mDrawerLayout; mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerLayout.closeDrawers();
Funktioniert einwandfrei.
quelle
Für mich hat dieser funktioniert -
mDrawerLayout.closeDrawer(Gravity.START, false);
quelle
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); } }
quelle
Rechts unten in onNavigationItemSelected, wo das Switch-Gehäuse endet, sollten Sie dies korrigieren. mDrawerLayout.closeDrawers ();
public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ } mDrawerLayout.closeDrawers(); return true; }
quelle
Wenn Sie mDrawerLayout als Schubladenlayout haben, können Sie es schließen, wenn es geöffnet ist.
@Override public void onBackPressed() { if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) { this.mDrawerLayout.closeDrawer(GravityCompat.START); } else { super.onBackPressed(); } }
quelle
closeDrawer();//when you want to call public void closeDrawer() { if (mDrawerLayout.isDrawerOpen(GravityCompat.START)) { mDrawerLayout.closeDrawer(GravityCompat.START); } }
quelle