410 Stimmen

Navigationsschublade (Google+ vs. YouTube)

Weiß jemand, wie man ein Schiebe-Menü wie einige der Top-Apps von heute implementiert?

Andere Stack Overflow Fragen Ich habe noch keine Antworten darauf bekommen, wie man das macht, also versuche ich, so viele Informationen wie möglich zu sammeln, um anderen zu helfen. Alle Anwendungen, die ich im Folgenden nenne, leisten gute Arbeit bei der Implementierung des Diamenüs.

1. Google Plus (Stand: 7/7/12)

Google+ slide out menu screenshot

Sie können nur vom ersten Bildschirm zum zweiten Bildschirm wechseln, indem Sie auf das G+ Logo in der oberen linken Ecke klicken. Beachten Sie, dass sich der gesamte Bildschirm von seiner Position wegbewegt und auf die rechte Seite des Bildschirms geschoben wird (einschließlich der Aktionsleiste). Um zum ersten Bildschirm zurückzukehren, können Sie entweder die rechte Seite wieder in den Fokus schieben oder erneut auf das G+ Symbol klicken.

2. YouTube (Stand: 7/7/12)

YouTube slide out menu screenshot

Sie können auf zwei Arten vom ersten Bildschirm zum zweiten Bildschirm wechseln. Entweder klicken Sie auf das YouTube-Logo oben links oder Sie können es mit einer Wischgeste nach rechts bewegen. Dies ist bereits ein Unterschied zur G+ App. Zweitens können Sie sehen, dass die Aktionsleiste an Ort und Stelle bleibt (im Gegensatz zu G+). Um den ursprünglichen Bildschirm wiederherzustellen, funktioniert es genauso wie bei G+.

154voto

Alex Lockwood Punkte 82384

Bearbeiten #3:

Das Navigation Drawer-Pattern ist offiziell in der Android-Dokumentation beschrieben!

enter image description here Sehen Sie sich die folgenden Links an:

  • Design-Dokumente kann gefunden werden aquí .
  • Dokumente für Entwickler kann gefunden werden aquí .

Bearbeiten #2:

Roman Nurik (ein Android-Designer bei Google) hat bestätigt, dass das empfohlene Verhalten darin besteht, die Aktionsleiste beim Öffnen der Schublade nicht zu verschieben (wie bei der YouTube-App). Siehe dies Google+ Beitrag .


Bearbeiten #1:

Ich habe diese Frage schon vor einiger Zeit beantwortet, aber ich bin zurück, um erneut zu betonen, dass Prixing hat das beste Flyout-Menü... bei weitem. . Es ist absolut schön, perfekt glatt, und es stellt Facebook, Google+ und YouTube in den Schatten. EverNote ist auch ziemlich gut... aber immer noch nicht so perfekt wie Prixing. Schauen Sie sich diese Reihe von Beiträgen wie das Flyout-Menü implementiert wurde (von keinem Geringeren als dem Chefentwickler von Prixing selbst!).


Ursprüngliche Antwort:

Adam Powell und Richard Fulcher sprechen darüber unter 49:47 - 52:50 in dem Google I/O-Vortrag mit dem Titel "Navigation in Android".

Zusammenfassend lässt sich sagen, dass zum Zeitpunkt dieses Beitrags das ausziehbare Navigationsmenü wie folgt aussieht ノット offiziell Teil des Android-Anwendungsdesignstandards. Wie Sie wahrscheinlich herausgefunden haben, gibt es derzeit keine native Unterstützung für diese Funktion, aber es war die Rede davon, dies in einer kommenden Revision des Support-Pakets zu ergänzen.

Was die YouTube- und G+-Apps betrifft, so scheint es merkwürdig, dass sie sich unterschiedlich verhalten. Meine beste Vermutung ist, dass der Grund, warum die YouTube-App die Position der Aktionsleiste fixiert, ist,

  1. Eine der wichtigsten Navigationsmöglichkeiten für Nutzer der YouTube-App ist die Suche, die in der SearchView in der Aktionsleiste. Es wäre sinnvoll, die Aktionsleiste in dieser Hinsicht statisch zu machen, da dies dem Benutzer erlauben würde siempre haben die Möglichkeit, nach neuen Videos zu suchen.

  2. Die G+ App verwendet eine ViewPager um den Inhalt anzuzeigen. Daher wäre es nicht sehr sinnvoll, das Pull-Out-Menü speziell für den Inhalt des Layouts (d. h. alles unter der Aktionsleiste) zu gestalten. Das Swipen soll ein Mittel zur Navigation zwischen Seiten sein, nicht ein Mittel zur globalen Navigation. Das könnte der Grund sein, warum sie sich entschieden haben, es in der G+ App anders zu machen als in der YouTube App.

    In der Google Play-App finden Sie eine weitere Version des "Ausklappmenüs" (wenn Sie sich auf der linken Seite befinden, wischen Sie nach links, und es erscheint ein ausklappbares "halbseitiges" Menü).

Sie haben Recht, dass dieses Verhalten nicht sehr konsistent ist, aber es scheint, als gäbe es innerhalb des Android-Teams noch keinen 100%igen Konsens darüber, wie dieses Verhalten implementiert werden sollte. Es würde mich nicht überraschen, wenn die Apps in Zukunft so aktualisiert werden, dass die Navigation in beiden Apps identisch ist (sie schienen sehr daran interessiert zu sein, die Navigation in allen von Google entwickelten Apps einheitlich zu gestalten).

15voto

Jared Burrows Punkte 52572

Erst kürzlich habe ich ein aktuelles Github-Projekt namens "RibbonMenu" geforkt und es an meine Bedürfnisse angepasst:

https://github.com/jaredsburrows/RibbonMenu

Was ist der Zweck

  • Einfacher Zugang: Ermöglichen Sie den einfachen Zugriff auf ein ein- und ausfahrbares Menü
  • Leichte Implementierung: Aktualisierung desselben Bildschirms mit minimalem Codeaufwand
  • Selbständigkeit: Benötigt keine Support-Bibliotheken wie ActionBarSherlock
  • Anpassungen: Einfache Änderung von Farben und Menüs

Was gibt's Neues?

  • Die Schiebeanimation wurde an die Facebook- und Google+-Apps angepasst.
  • Standard ActionBar hinzugefügt (Sie können ActionBarSherlock verwenden)
  • Verwendeter Menüpunkt zum Öffnen des Menüs
  • Möglichkeit hinzugefügt, ListView auf Hauptaktivität zu aktualisieren
  • 2 ListViews zum Menü hinzugefügt, ähnlich wie bei den Facebook und Google+ Apps
  • Ein AutoCompleteTextView und ein Button wurden hinzugefügt, um Beispiele für die Implementierung zu zeigen
  • Es wurde eine Methode hinzugefügt, die es den Nutzern ermöglicht, die "Zurück"-Taste zu drücken, um das Menü auszublenden, wenn es geöffnet ist.
  • Ermöglicht den Nutzern die gleichzeitige Interaktion mit dem Hintergrund (Haupt-ListView) und dem Menü, anders als bei den Facebook- und Google+-Apps!

ActionBar mit Menü aus

ActionBar with Menu out

ActionBar mit ausgeschaltetem Menü und ausgewählter Suche

ActionBar with Menu out and search selected

5voto

naXa Punkte 30160

Es gibt eine großartige Umsetzung von NavigationDrawer die den Google Material Design Guidelines folgt (und bis zu API 10 kompatibel ist) - Die MaterialDrawer-Bibliothek (Link zu GitHub) . Zum Zeitpunkt der Erstellung dieses Artikels, Mai 2017, wird es aktiv unterstützt.

Es ist erhältlich in Maven Central Repo . Gradle-Abhängigkeit einrichten:

compile 'com.mikepenz:materialdrawer:5.9.1'

Einrichtung von Maven-Abhängigkeiten:

<dependency>
    <groupId>com.mikepenz</groupId>
    <artifactId>materialdrawer</artifactId>
    <version>5.9.1</version>
</dependency>

enter image description here enter image description here

2voto

Nicolas Jafelle Punkte 2551

Ich persönlich mag die navigationDrawer in der offiziellen Google Drive-App. Es funktioniert einfach und funktioniert großartig. Ich stimme zu, dass die Navigationsschublade die Aktionsleiste nicht verschieben sollte, da dies der Schlüsselpunkt zum Öffnen und Schließen der Navigationsschublade ist.

Wenn Sie immer noch versuchen, dieses Verhalten zu erhalten, habe ich vor kurzem ein Projekt erstellt Called SherlockNavigationDrawer und ist, wie zu erwarten, die Implementierung des Navigation Drawers mit ActionBarSherlock und funktioniert für Geräte vor Honeycomb. Überprüfen Sie es:

SherlockNavigationDrawer github

2voto

Sotti Punkte 13516

Ich weiß, dass dies eine alte Frage ist, aber die aktuellste Antwort ist die Verwendung der Android-Unterstützung Design-Bibliothek die Ihnen das Leben erleichtern werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X