Android - Snackbar vs Toast - Nutzung und Unterschied

103

Bisher haben wir in unserer Anwendung nur Toasts verwendet. Da wir einige neue Funktionen aus der Support Design Library übernehmen möchten, frage ich mich, welche Verwendung für Snackbar vs. Toast empfohlen wird.

Ich habe auf der Google Material Snackbar Doc gelesen .

Snackbars bieten in einem kleinen Popup am unteren Bildschirmrand auf Mobilgeräten und unten links auf dem Desktop ein leichtes Feedback zu einem Vorgang. Sie sind vor allem über Elemente auf dem Bildschirm, einschließlich der FAB.

und Toast.

Android bietet auch einen kapselförmigen Toast an, der hauptsächlich für Systemnachrichten verwendet wird. Toasts ähneln Snackbars, enthalten jedoch keine Aktionen und können nicht vom Bildschirm gewischt werden.

Ich verstehe, was sie tun, aber ich bin etwas verwirrt, wann ich was verwenden soll. Bedeutet das, dass:

  • Wenn ich keine Benutzerinteraktion benötige, würde ich einen Toast verwenden?
  • Was ist mit "Systemnachrichten" gemeint? Gilt das für die Anzeige von Informationen, wenn zwischen meiner App und dem Android-System etwas Wichtiges passiert ist?
  • Was mir gefällt, ist die Funktion zum Abwischen des Bildschirms. Wäre das ein Grund, Toast durch Snackbars zu ersetzen? (Dies ist allerdings eine etwas meinungsbasierte Frage)
Jakub Holovsky
quelle
Dieser Link funktioniert nicht mehr. Vielleicht sollte dieses Material verwendet werden.io/guidelines/components/snackbars-toasts.html ?
Vadim Kotov

Antworten:

109

Wenn ich keine Benutzerinteraktion benötige, würde ich einen Toast verwenden?

Sie können weiterhin Snackbar verwenden. Es ist nicht zwingend erforderlich, eine Aktion mit Snackbar durchzuführen.

Was ist mit "Systemnachrichten" gemeint? Gilt das für die Anzeige von Informationen, wenn zwischen meiner App und dem Android-System etwas Wichtiges passiert ist?

Ich glaube, dies bedeutet, dass Toast verwendet werden soll, wenn einige Meldungen zum System vorliegen. Entweder Android als Ganzes oder ein Hintergrunddienst, den Sie möglicherweise ausführen. ZB Text-To-Speech is not installed.ODERNo Email client found.

Was mir gefällt, ist die Funktion zum Abwischen des Bildschirms. Wäre das ein Grund, Toast durch Snackbar zu ersetzen? (Dies ist allerdings eine etwas meinungsbasierte Frage)

Das ist ein Grund. Es gibt aber noch einige andere Pluspunkte. Ein Beispiel: Ihr Toast bleibt auch nach Abschluss der Aktivität auf dem Bildschirm. Snackbar nicht. Es gibt weniger Verwirrung, wenn der Toast nicht lange nach dem Beenden der App angezeigt wird (oder immer wieder angezeigt wird, wenn mehrere Toasts nacheinander erstellt werden). Dies wird mit Snackbar nicht passieren.

Mehr als alles: Ich schlage vor, wenn Sie denken, sollten Sie wechseln. SnackBars sehen viel besser aus als Toasts.

AndroidMechanic - Virales Patel
quelle
18
Prost, der Punkt, an dem Snackbar nur während der Aktivität am Leben ist, ist wirklich nützlich.
Jakub Holovsky
9
Ich würde hinzufügen, dass Toasts für Nachrichten bevorzugt werden, die sich zusätzlich zu Systemnachrichten auf die gesamte App beziehen, während Snackbars für Nachrichten bevorzugt werden, die sich auf die aktuelle Aktivität beziehen. Wenn Ihre App beispielsweise beim Start nach Updates sucht, verwenden Sie am besten einen Toast für die Ergebnismeldung. Wenn Ihre App Elemente enthält, die gelöscht werden können, wird die gelöschte Antwortnachricht bevorzugt als Snackbar mit einer Schaltfläche zum Rückgängigmachen angezeigt.
Subaru Tashiro
10
Eine andere zu beachtende Sache ist, dass Toasts nicht angezeigt werden, wenn Benachrichtigungen deaktiviert sind.
Horatio
Ein weiterer wichtiger Unterschied ist, dass im Gegensatz zum Toast immer nur eine Snackbar angezeigt wird. Sie können mehrere Toasts übereinander anzeigen lassen, was für den Benutzer ärgerlich sein kann, insbesondere angesichts der Tatsache, dass sie nicht entfernt werden können wischen.
Firzen
47

Ich möchte einen kleinen Vergleich zwischen Toast und Snackbar hinzufügen. Meiner Meinung nach sollten Sie eine Snackbar verwenden, wenn Sie eine Warnung oder Informationen präsentieren möchten, die eine Benutzerinteraktion / -bestätigung erfordern. Wenn es sich nur um eine Infomeldung handelt, für die keine Benutzerbestätigung erforderlich ist, können Sie Toast verwenden.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                Toast                                 |                                 Snackbar                                 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| 1 | Cant be dismissed by swiping                                        | Can dismiss by swiping                                                   |
| 2 | Activity not required (Can show in android home or above other apps) | Can show inside an activity of your app                                  |
| 3 | Cant handle user input                                              | Can handle user input                                                    |
| 4 | Good for showing info messages to user                               | Good for showing warning/info type messages to user that needs attention |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Midhun MP
quelle
26

Toast:

  1. Toast wurde in API Level 1 hinzugefügt
  2. Grundsätzlich ist keine Aktivität erforderlich (Kann auf Android Home oder sogar über anderen Apps angezeigt werden)
  3. Es kann keine Aktion basierend auf Benutzereingaben ausführen
  4. Es kann nicht durch Wischen entlassen werden
  5. Benutzereingaben wie Wischen, Klicken usw. können nicht verarbeitet werden.
  6. Gut, um dem Benutzer Infomeldungen anzuzeigen

Imbissbude:

  1. SnackBar wurde in API Level 23 hinzugefügt
  2. Es kann in einer Aktivität der Anwendungen angezeigt werden
  3. Es kann eine Aktion ausführen
  4. Es kann durch Wischen entlassen werden
  5. Es kann Benutzereingaben verarbeiten
  6. Gut geeignet, um Benutzern, die Aufmerksamkeit benötigen, Warn- / Infomeldungen anzuzeigen

Verwendung von SnackBar und Toast:

Imbissbude:

SnackBar kann in den Bereichen verwendet werden, in denen eine einfache Popup-Nachricht zusammen mit einer Option zum Ausführen von Aktionen angezeigt werden muss. Beispiel: Wenn Sie in der GMail-Anwendung Mail löschen, wird unten eine schnelle SnackBar-Anzeige mit der Meldung "1 gelöscht" mit der Aktionsschaltfläche "Rückgängig" angezeigt. Durch Drücken der Aktionstaste "Rückgängig" wird die gelöschte E-Mail wiederhergestellt.

Toast:

Toast kann in den Bereichen verwendet werden, in denen Systemmeldungen angezeigt werden müssen.

Beispielsweise:

Wenn Ihre App versucht, JSON vom Remote-Server herunterzuladen, dies jedoch aufgrund eines Server-Timeouts oder einer fehlenden Ressource fehlschlägt, müssen Sie nur die Fehlermeldung "Fehler aufgetreten" anzeigen. Aber verstehen Sie, dass die Toast-Nachricht nicht durch Wischen verworfen werden kann. Wenn Sie weiterhin die Möglichkeit haben möchten, es in Ihrer App zu schließen, wählen Sie SnackBar.

Dhaval Jivani
quelle
13

Laut der offiziellen Dokumentation in der Popup-Nachrichtenübersicht :

Hinweis: Die Snackbar- Klasse ersetzt Toast . Während Toast derzeit noch unterstützt wird, ist Snackbar jetzt die bevorzugte Methode, um dem Benutzer kurze, vorübergehende Nachrichten anzuzeigen.

und (Material Design) Snackbars Dokumentation:

Verwandte Konzepte: Android bietet auch eine Toast- Klasse mit einer ähnlichen API, die zum Anzeigen von Benachrichtigungen auf Systemebene verwendet werden kann. Im Allgemeinen sind Snackbars der bevorzugte Mechanismus zum Anzeigen von Rückmeldungen an Benutzer, da sie im Kontext der Benutzeroberfläche angezeigt werden können, auf der die Aktion ausgeführt wurde. Reservieren Sie Toast für Fälle, in denen dies nicht möglich ist.

lcnicolau
quelle
2

Laut der Material Design Specification von Google ist es in Ordnung, eine Snackbar ohne Aktion zu haben. Sie haben Beispiele dafür geliefert, wie eine Snackbar aussehen sollte, wenn nur eine einzelne Zeichenfolge angezeigt wird. Ich würde annehmen, dass "System Messaging" bedeutet, dass Geräteereignisse wie der Verlust der Netzwerkverbindung verloren gehen - während das Archivieren einer E-Mail beispielsweise eine Google Mail-spezifische Aktion ist.

Aus Gründen der Konsistenz ist es sinnvoll, entweder einen Toast oder eine Snackbar auszuwählen und diese in Ihrer gesamten App anzuwenden.

Fraktalschlüssel
quelle
1
Dieser Link wurde verschoben: material.io/design/components/snackbars.html
Antonio Vinicius Menezes Medei
1

Die kurze Antwort lautet: Dies sind zwei Möglichkeiten, um dem Benutzer Dinge mitzuteilen, die im Hintergrund geschehen, und Sie können eine davon auf den Punkt bringen. Beide sind in Ordnung. Stellen Sie einfach sicher, dass Sie dasselbe verwenden und nicht zwischen ihnen hin und her wechseln.

Die lange Antwort:

  • Nein, das heißt, wenn Sie etwas Action brauchen, müssen Sie Snackbar verwenden. Sie können die Snackbar weiterhin nur für Nachrichten verwenden (z. B. "Hochladen abgeschlossen").
  • Mit "System" ist nicht nur das Android-System gemeint. Beispiel: Wenn beim Abrufen von Informationen von Ihrem Server ein JSON-Analyseproblem aufgetreten ist, können Sie den Benutzer weiterhin mit Toast darauf hinweisen, dass bei der Kommunikation mit dem Server ein Problem aufgetreten ist.
  • Wenn Sie dies wirklich abwischen müssen, ist dies ein Grund, sich für Snackbar zu entscheiden
shem
quelle
1

Unser Designteam möchte entweder Toast oder Snackbars verwenden. Wir kommen zu dem Schluss, dass die App aufgrund ihrer Flexibilität Snackbars verwenden sollte.

Toasts sollten nur verwendet werden, wenn wir eine dauerhafte Info-Nachricht mit kurzen Zeichenfolgen benötigen , die auf verschiedenen Bildschirmen immer noch sinnvoll ist.

Vennsoh
quelle
1

Unterschied zwischen Toast und Snackbar Android

  • Toastnachrichten können überall auf dem Bildschirm angepasst und gedruckt werden. Eine Snackbar kann jedoch nur am unteren Bildschirmrand angezeigt werden.
  • Eine Toast-Nachricht hat keine Aktionsschaltfläche, aber die Snackbar kann optional eine Aktionsschaltfläche haben.
  • Die Toastnachricht kann erst nach Ablauf des Zeitlimits deaktiviert werden, aber die Snackbar kann vor Ablauf des Zeitlimits deaktiviert werden.
  • Mit diesen drei verschiedenen Werten können Sie festlegen, wie lange die Nachricht angezeigt wird.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

Verwendung

Toast

Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

Imbissbude

Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);
snackbar.show();
Velmurugan Murugesan
quelle
0

Android bietet auch einen kapselförmigen Toast an, der hauptsächlich für Systemnachrichten verwendet wird.

Ich denke, mit "System Messaging" beziehen sie sich auch auf die Tatsache, dass ein Toast für eine bestimmte Zeit angezeigt wird und nicht entlassen werden kann, selbst wenn der Benutzer über Aktivitäten navigiert und selbst wenn die App in den Hintergrund verschoben wird.

Ich halte es für einen Vorteil der Snackbar, ihren Umfang auf eine Aktivität zu beschränken und sie abweisen zu können.

Peter F.
quelle