So zeigen/verbergen Sie die Navigationsleiste programmgesteuert
Lesezeit: 3 Minuten
Sonne
Wie kann ich die Schaltfläche zum Ein-/Ausblenden der Navigationsleiste verwenden? Ich habe diesen SO-Link verwendet, um die Navigationsleiste zu erstellen und zu verwalten.
Jetzt verwende ich (Swipe von links nach rechts – zum Anzeigen) und (Swipe von rechts nach links – zum Ausblenden)
Wie kann ich die Schublade mit der im folgenden Screenshot hervorgehobenen Schaltfläche anzeigen / ausblenden:
btnMenu.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
drawer.openDrawer(Gravity.LEFT);
}
});
Ich weiß, um zu schließen, muss ich anrufen drawer.closeDrawer(Gravity.LEFT); aber wo muss ich diesen code einfügen?
Schwarzer Gürtel
Holen Sie sich einen Verweis auf die DrawerLayout und Ruf an Schublade schließen (int) zu schließen und openDrawer(int) um es zu öffnen. Das int Parameter bezieht sich auf die Schwerkraft. In deinem Fall sollte es so sein GravityCompat.LEFT/ GravityCompat.STARTdenn entsprechend dem Screenshot, den Sie gepostet haben, ist Ihre DrawerLayout links öffnen und schließen.
Danke, dein Trick hat bei mir funktioniert, aber ich weiß immer noch nicht, wo ich den Code zum Schließen der Schublade platzieren soll, überprüfe meinen bearbeiteten Code
– Sonne
15. September 2015 um 10:19 Uhr
Verwenden Sie dieselbe Schaltfläche. if (drawer.isDrawerOpen(Gravity.LEFT)) { // close } else {// open }
– Schwarzer Gürtel
15. September 2015 um 10:21 Uhr
Um die Navigationsleiste zu schließen, rufen Sie einfach drawerLayout.closeDrawers() auf.
– Vadiraj Purohit
24. August 2016 um 22:19 Uhr
erwägen zu verwenden Gravity.START um unterschiedliche Layoutrichtungen zu unterstützen
– Amr Säbel
9. August 2018 um 13:41 Uhr
Wenn Sie START oder END für die Schwerkraft verwenden, möchten Sie vielleicht GravityCompat verwenden
Wenn Sie das Sliding Drawer Menu verwenden und das Menü ausblenden möchten, wenn es geöffnet ist (beim Ziehen von rechts nach links). Dann müssen wir uns mit dem Listview-Objekt ontouch listener befassen. Der Code wird so sein.
//((( When we drage from Right to left then menu hide ))))
lvMenu.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
toggleMenu(v);
break;
case MotionEvent.ACTION_UP:
//showtoast("up");
break;
default:
return false;
}
return false;
}
});
public void toggleMenu(View v) {
mLayout.toggleMenu();
}
Für den vollständigen Code können Sie den Kommentar hier einfügen, wenn Sie ein Problem haben
11371700cookie-checkSo zeigen/verbergen Sie die Navigationsleiste programmgesteuertyes