Navigationsschublade (Google+ vs. YouTube)

403

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

Andere Fragen zum Stapelüberlauf hatten keine Antworten dazu. Daher versuche ich, möglichst viele Informationen zu sammeln, um anderen zu helfen. Alle Anwendungen, die ich unten erwähne, leisten hervorragende Arbeit bei der Implementierung des Folienmenüs.

1. Google Plus (Stand 07.07.12)

Screenshot des Google+ Slide-Out-Menüs

Sie können nur vom ersten 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 entfernt und auf die rechte Seite des Bildschirms (einschließlich der Aktionsleiste) verschoben wird. 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 07.07.12)

Screenshot des YouTube-Folienmenüs

Sie können mit zwei Methoden vom ersten zum zweiten Bildschirm wechseln. Klicken Sie entweder oben links auf das YouTube-Logo oder verschieben Sie es mit einer Wischgeste nach rechts. Dies unterscheidet sich bereits von der G + App. Zweitens können Sie sehen, dass die Aktionsleiste gesetzt bleibt (im Gegensatz zu G +). Um den ursprünglichen Bildschirm wiederherzustellen, funktioniert er genau wie G +.

EGHDK
quelle
1
Wie es aussieht, haben nicht viele Leute Erfahrung damit, an so etwas zu arbeiten. Ich schlage vor, zu versuchen, etwas selbst zu implementieren und mit bestimmten Problemen zu SO zu kommen.
David Titarenco
7
Ja, deshalb habe ich eine SO-Frage in einer anderen gestellt, von der ich glaube, dass sie etwas mehr Aufmerksamkeit verdient. Ich frage mich nur, ob es jemanden gibt, der dies erfolgreich erreicht hat und gerne seine Weisheit teilen würde.
EGHDK
1
@EGHDK Schauen Sie sich diese Artikelserie an: android.cyrilmottier.com/?p=658
Alex Lockwood
2
Ich habe diese Frage vor einiger Zeit beantwortet, aber ich möchte noch einmal betonen, dass Prixing das mit Abstand beste Flyout -Menü hat ... bei weitem. Es ist absolut schön, perfekt geschmeidig und beschämt Facebook, Google+ und YouTube. EverNote ist auch ziemlich gut ... aber immer noch nicht so perfekt wie Prixing. Schauen Sie sich diese Reihe von Beiträgen an, wie das Flyout-Menü implementiert wurde (von keinem anderen als dem Chefentwickler bei Prixing selbst!).
Alex Lockwood
2
Mit Android Support Package Revision 13 (Mai 2013) gibt es DrawerLayout zum Erstellen einer Navigationsschublade, die vom Rand eines Fensters eingezogen werden kann. Und die Navigationsschublade ist jetzt ein Entwurfsmuster. developer.android.com/tools/extras/support-library.html
Wubao Li

Antworten:

152

Edit # 3:

Das Navigationsschubladenmuster ist offiziell in der Android-Dokumentation beschrieben!

Geben Sie hier die Bildbeschreibung ein Überprüfen Sie die folgenden Links:

  • Designdokumente finden Sie hier .
  • Entwicklerdokumente finden Sie hier .

Edit # 2:

Roman Nurik (ein Android-Konstrukteur 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 diesen Google+ Beitrag .


Edit # 1:

Ich habe diese Frage vor einiger Zeit beantwortet, aber ich möchte noch einmal betonen, dass Prixing das mit Abstand beste Flyout-Menü hat ... bei weitem . Es ist absolut schön, perfekt geschmeidig und beschämt Facebook, Google+ und YouTube. EverNote ist auch ziemlich gut ... aber immer noch nicht so perfekt wie Prixing. Schauen Sie sich diese Reihe von Beiträgen an, wie das Flyout-Menü implementiert wurde (von keinem anderen als dem Chefentwickler bei Prixing selbst!).


Ursprüngliche Antwort:

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

Zusammenfassend lässt sich sagen, dass das Navigationsmenü zum Zeitpunkt der Veröffentlichung zum Zeitpunkt dieser Veröffentlichung nicht offiziell Teil des Designstandards für Android-Anwendungen ist. Wie Sie wahrscheinlich festgestellt haben, gibt es derzeit keine native Unterstützung für diese Funktion, aber es wurde darüber gesprochen, diese als Ergänzung zu einer bevorstehenden Überarbeitung des Support-Pakets zu verwenden.

In Bezug auf die YouTube- und G + -Apps scheint es seltsam, dass sie sich unterschiedlich verhalten. Ich vermute, dass der Grund, warum die YouTube-App die Position der Aktionsleiste korrigiert, folgender ist:

  1. Eine der wichtigsten Navigationsoptionen für Nutzer, die die YouTube-App verwenden, ist die Suche, die SearchViewin der Aktionsleiste ausgeführt wird. Es wäre sinnvoll, die Aktionsleiste in dieser Hinsicht statisch zu machen, da der Benutzer immer die Möglichkeit hätte, nach neuen Videos zu suchen.

  2. Die G + App verwendet a ViewPager, um den Inhalt anzuzeigen. Daher ist es nicht sehr sinnvoll, das Ausziehmenü spezifisch für den Layoutinhalt (dh alles unter der Aktionsleiste) zu gestalten. Das Wischen soll ein Mittel zum Navigieren zwischen Seiten bieten, kein Mittel zum globalen Navigieren. Dies könnte der Grund sein, warum sie beschlossen haben, dies in der G + App anders zu tun als in der YouTube-App.

    In einem anderen Hinweis können Sie in der Google Play-App nach einer anderen Version des "Ausziehmenüs" suchen (wenn Sie sich ganz links befinden, wischen Sie nach links und ein Auszugsmenü "Halbseite" wird angezeigt).

Sie haben Recht damit, dass dies kein sehr konsistentes Verhalten ist, aber es scheint nicht, dass es innerhalb des Android-Teams einen 100% igen Konsens darüber gibt, wie dieses Verhalten noch implementiert werden sollte. Es würde mich nicht wundern, 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 erstellten Apps im Gespräch konsistent zu machen).

Alex Lockwood
quelle
73
Prixing, Evernote und Spotify haben alle ziemlich große Teams, die ihre Apps schreiben. Ich bin der CEO von Prixing, und ich möchte genau sagen, dass wir nur einen echten Android-Entwickler haben (aber einen sehr talentierten, Cyril Mottier)
EricLarch
Mit Android Support Package Revision 13 (Mai 2013) gibt es DrawerLayout zum Erstellen einer Navigationsschublade, die vom Rand eines Fensters eingezogen werden kann. Und die Navigationsschublade ist jetzt ein Entwurfsmuster. developer.android.com/tools/extras/support-library.html
Wubao Li
Obwohl NavigationDrawer in V4 vorhanden ist, benötigt es ActionBar, das noch nicht in V4 enthalten ist, sodass es nicht in Apps mit einer API-Stufe unter 11 verwendet werden kann.
Nayanesh Gupte
1
@NayAneshGupte Sie können immer ActionBarSherlock verwenden, um ActionBar unter API Level 11 zu verwenden.
Tasomaniac
Es scheint, als gäbe es keinen Weg, eine künstliche Verzögerung einzuführen, wenn die Nahanimation reibungslos sein soll.
Theblang
15

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

https://github.com/jaredsburrows/RibbonMenu

Was ist der Zweck

  • Einfacher Zugriff: Ermöglichen Sie den einfachen Zugriff auf ein Menü, das ein- und ausgeblendet werden kann
  • Einfache Implementierung: Aktualisieren Sie denselben Bildschirm mit minimalem Code
  • Unabhängigkeit: Erfordert keine Unterstützungsbibliotheken wie ActionBarSherlock
  • Anpassung: Einfach zu ändernde Farben und Menüs

Was gibt's Neues

  • Die gleitende Animation wurde geändert, um sie an Facebook- und Google+ Apps anzupassen
  • Standard-ActionBar hinzugefügt (Sie können ActionBarSherlock verwenden)
  • Benutztes Menü zum Öffnen des Menüs
  • Möglichkeit zum Aktualisieren von ListView in der Hauptaktivität hinzugefügt
  • Dem Menü wurden 2 ListViews hinzugefügt, ähnlich wie bei Facebook- und Google+ Apps
  • Es wurden auch eine AutoCompleteTextView und eine Schaltfläche hinzugefügt, um Beispiele für die Implementierung anzuzeigen
  • Es wurde eine Methode hinzugefügt, mit der Benutzer auf die Schaltfläche "Zurück" klicken können, um das Menü auszublenden, wenn es geöffnet ist
  • Ermöglicht Benutzern die gleichzeitige Interaktion mit dem Hintergrund (Haupt-ListView) und dem Menü im Gegensatz zu den Facebook- und Google+ Apps!

ActionBar mit Menü aus

ActionBar mit Menü aus

ActionBar mit Menü aus und Suche ausgewählt

ActionBar mit Menü aus und Suche ausgewählt

Jared Burrows
quelle
5

Es gibt eine großartige Implementierung NavigationDrawer, die den Google Material Design Guidelines (und bis auf API 10 kompatibel) - The MaterialDrawer Library (Link zu GitHub) folgt . Zum Zeitpunkt des Schreibens, Mai 2017, wird es aktiv unterstützt.

Es ist in Maven Central Repo erhältlich . Gradle-Abhängigkeits-Setup:

compile 'com.mikepenz:materialdrawer:5.9.1'

Einrichtung der Maven-Abhängigkeit:

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

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

naXa
quelle
@lmiguelvargasf Wie stellst du dir ein GitHub-Projekt in die Antwort ein?! Bitte teilen Sie Ihre Ideen.
NaXa
2

Ich weiß, dass dies eine alte Frage ist, aber die aktuellste Antwort ist die Verwendung der Android Support Design-Bibliothek , die Ihnen das Leben leichter macht.

Sotti
quelle
2

Persönlich gefällt mir die navigationDraweroffizielle App in Google Drive. Es funktioniert einfach und funktioniert großartig. Ich bin damit einverstanden, dass die Navigationsleiste die Aktionsleiste nicht verschieben sollte, da dies der Schlüsselpunkt zum Öffnen und Schließen der Navigationsleiste ist.

Wenn Sie immer noch versuchen, dieses Verhalten zu erreichen, habe ich kürzlich ein Projekt namens "Called" erstellt. SherlockNavigationDrawerWie zu erwarten ist, wird die Navigationsleiste mit ActionBarSherlockGeräten vor Honeycomb implementiert und funktioniert für diese Geräte. Prüfen Sie:

SherlockNavigationDrawer Github

Nicolas Jafelle
quelle