Android - Snackbar vs Toast - utilisation et différence

103

Jusqu'à présent, nous n'utilisons que Toasts dans notre application et comme nous prévoyons d'adopter de nouvelles fonctionnalités de Support Design Library, je me demande quelle est l'utilisation recommandée pour Snackbar par rapport à Toast.

J'ai lu sur le document google material snackbar.

Les snackbars fournissent des commentaires légers sur une opération dans une petite fenêtre contextuelle à la base de l'écran sur mobile et en bas à gauche sur le bureau. Ce sont avant tout des éléments à l'écran, y compris le FAB.

et des toasts.

Android fournit également un toast en forme de capsule, principalement utilisé pour la messagerie système. Les toasts sont similaires aux barres-collations mais ne contiennent aucune action et ne peuvent pas être retirés de l'écran.

Je comprends ce qu'ils font mais je ne sais pas quand utiliser quoi. Cela signifie-t-il que:

  • Si je n'ai pas besoin d'interaction de l'utilisateur, j'utiliserais un toast?
  • Qu'entend-on par «messagerie système»? Cela s'applique-t-il à l'affichage d'informations lorsque quelque chose d'important s'est produit entre mon application et le système Android?
  • Ce que j'aime, c'est la fonction de balayage hors de l'écran - serait-ce une raison pour commencer à remplacer les toasts par des barres-collations? (c'est une question un peu basée sur l'opinion)
Jakub Holovsky
la source
Ce lien ne fonctionne plus. Peut-être que celui-ci devrait être utilisé material.io/guidelines/components/snackbars-toasts.html ?
Vadim Kotov

Réponses:

109

Si je n'ai pas besoin d'interaction de l'utilisateur, j'utiliserais un toast?

Vous pouvez toujours utiliser Snackbar. Il n'est pas obligatoire d'avoir une action avec Snackbar.

Qu'entend-on par «messagerie système»? Cela s'applique-t-il à l'affichage d'informations lorsque quelque chose d'important s'est produit entre mon application et le système Android?

Je crois que cela signifie que Toasts doit être utilisé s'il y a des messages concernant le système. Soit Android dans son ensemble, soit un service d'arrière-plan que vous utilisez peut-être. Par exemple Text-To-Speech is not installed.OUNo Email client found.

Ce que j'aime, c'est la fonction de balayage hors de l'écran - serait-ce une raison pour commencer à remplacer les toasts par Snackbar? (c'est une question un peu basée sur l'opinion)

C'est une des raisons. Mais il y a plusieurs autres points positifs. Par exemple: votre toast reste à l'écran même lorsque l'activité est terminée. Snackbar ne le fait pas. Il y a moins de confusion si le toast ne s'affiche pas (ou continue à apparaître en cas de création multiple de Toast en séquence) longtemps après la sortie de l'application. Cela ne se produira pas avec Snackbar.

Plus que tout: je suggère que si vous réfléchissez, vous devriez changer. Les SnackBars sont bien meilleurs que les Toasts.

AndroidMécanicien - Viral Patel
la source
18
Salutations, le fait que Snackbar ne soit en vie que pendant que vous êtes sur l'activité est vraiment utile.
Jakub Holovsky
9
J'ajouterais que Toasts sont préférés pour les messages qui se réfèrent à l'application dans son ensemble en plus des messages système, tandis que les Snackbars sont préférés pour les messages qui se réfèrent à l'activité actuelle. Par exemple, si votre application recherche des mises à jour au lancement, il est préférable d'utiliser un toast pour le message de résultat. Si votre application contient des éléments qui peuvent être supprimés, il est préférable d'afficher le message de réponse supprimé sous forme de collation avec un bouton d'annulation.
Subaru Tashiro
10
Une autre chose à noter est que les toasts ne sont pas affichés lorsque les notifications sont désactivées.
Horatio
Une autre différence importante est qu'un seul Snackbar est affiché à la fois, contrairement au Toast - vous pouvez avoir plusieurs Toasts affichés les uns sur les autres, ce qui peut être ennuyeux pour l'utilisateur, en particulier compte tenu du fait qu'ils ne peuvent pas être supprimés par balayant.
Firzen
47

Je voudrais ajouter une petite comparaison entre le pain grillé et le snack-bar. À mon avis, si votre intention est de présenter un avertissement ou des informations nécessitant une interaction / reconnaissance de l'utilisateur, vous devriez utiliser un snack-bar. S'il s'agit simplement d'un message d'information qui ne nécessite aucun accusé de réception de l'utilisateur, vous pouvez utiliser toast.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                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 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Député de Midhun
la source
26

Pain grillé:

  1. Toast a été ajouté au niveau d'API 1
  2. Fondamentalement, l'activité n'est pas requise (peut être affichée sur la maison Android ou même au-dessus d'autres applications)
  3. Il ne peut pas effectuer d'action basée sur l'entrée de l'utilisateur
  4. Il ne peut pas être ignoré en glissant
  5. Il ne peut pas gérer les entrées utilisateur telles que Swipe, Click, etc.
  6. Idéal pour afficher des messages d'information à l'utilisateur

SnackBar:

  1. SnackBar a été ajouté au niveau d'API 23
  2. Il peut être affiché dans une activité des Applications
  3. Il peut effectuer une action
  4. Il peut être rejeté en glissant
  5. Il peut gérer les entrées de l'utilisateur
  6. Idéal pour afficher des messages de type avertissement / info à l'utilisateur qui a besoin d'attention

Utilisation de SnackBar et Toast:

SnackBar:

SnackBar peut être utilisé dans les zones où un simple message contextuel doit être affiché avec une option pour effectuer une action. Par exemple: dans l'application GMail, lorsque vous supprimez Mail, un SnackBar rapide s'affiche en bas avec le message «1 Supprimé» avec un bouton d'action «Annuler». En appuyant sur le bouton d'action «Annuler», le courrier supprimé sera restauré.

Pain grillé:

Toast peut être utilisé dans les zones où les messages système doivent être affichés.

Par exemple:

Lorsque votre application tente de télécharger JSON à partir d'un serveur distant mais échoue en raison du délai d'expiration du serveur ou de l'absence de ressource trouvée, il vous suffit d'afficher le message d'erreur indiquant qu'une `` erreur s'est produite ''. Mais comprenez que le message Toast ne peut pas être ignoré en le faisant glisser. Si vous souhaitez toujours avoir la possibilité de le supprimer dans votre application, optez pour SnackBar.

Dhaval Jivani
la source
13

Selon la documentation officielle sur l' aperçu des messages pop-up :

Remarque: la classe Snackbar remplace Toast . Bien que Toast soit toujours pris en charge, Snackbar est désormais le moyen préféré d'afficher des messages brefs et transitoires à l'utilisateur.

et la documentation de (Material Design) Snackbars :

Concepts associés: Android fournit également une classe Toast avec une API similaire qui peut être utilisée pour afficher des notifications au niveau du système. En général, les barres-collations sont le mécanisme préféré pour afficher des messages de retour aux utilisateurs, car ils peuvent être affichés dans le contexte de l'interface utilisateur où l'action s'est produite. Réservez Toast pour les cas où cela ne peut pas être fait.

lcnicolau
la source
2

La spécification de conception matérielle de Google indique qu'il est normal d'avoir un snack-bar sans action. Ils ont fourni des exemples de ce à quoi un Snackbar devrait ressembler s'il n'affiche qu'une seule chaîne. Je suppose que «Messagerie système» signifie des événements de l'appareil tels que la perte de la connexion réseau - alors que l'archivage d'un e-mail est une action spécifique à Gmail, par exemple.

Par souci de cohérence, il est logique de choisir un pain grillé ou un snack-bar et de l'appliquer dans toute votre application.

clé fractale
la source
1
Ce lien a été déplacé: material.io/design/components/snackbars.html
Antonio Vinicius Menezes Medei
1

La réponse courte est que ce sont 2 façons de communiquer à l'utilisateur des choses qui se produisent en arrière-plan, et vous pouvez en faire un pic, elles conviennent toutes les deux. Assurez-vous simplement d'utiliser le même et de ne pas basculer entre eux.

La réponse longue:

  • Non, cela signifie que si vous avez besoin d'action, vous devez utiliser Snackbar. Vous pouvez toujours utiliser Snackbar uniquement pour les messages (comme "Téléchargement terminé").
  • Par «système», cela ne signifie pas uniquement le système Android. Par exemple, s'il y avait un problème d'analyse json lors de l'obtention des informations de votre serveur, vous pouvez toujours utiliser toast pour signaler à l'utilisateur qu'il y a eu un problème lors de la communication avec le serveur.
  • Si vous avez vraiment besoin de faire glisser ceci, c'est absultement une raison de choisir Snackbar
shem
la source
1

Notre équipe de conception envisage également d'utiliser des toasts ou des barres-collations. Nous arrivons à la conclusion que l'application devrait utiliser des barres-collations compte tenu de sa flexibilité.

Les toasts ne doivent être utilisés que lorsque nous avons besoin d'une chaîne courte et persistante, un message d'information qui a encore du sens sur différents écrans.

Vennsoh
la source
1

Différence entre Toast et Snackbar Android

  • Les messages Toast peuvent être personnalisés et imprimés n'importe où sur l'écran, mais un Snackbar ne peut être affiché qu'en bas de l'écran.
  • Un message Toast n'a pas de bouton d'action, mais Snackbar peut avoir un bouton d'action en option.
  • Le message Toast ne peut pas être désactivé avant la fin de la limite de temps, mais Snackbar peut être effacé avant la limite de temps.
  • Vous pouvez définir la durée d'affichage du message en utilisant ces trois valeurs différentes.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

Usage

Pain grillé

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

Snackbar

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

Android fournit également un toast en forme de capsule, principalement utilisé pour la messagerie système.

Je pense qu'avec la "messagerie système", ils se réfèrent également au fait qu'un toast sera affiché pendant un temps spécifique et ne peut pas être rejeté même si l'utilisateur navigue à travers les activités et même si l'application est déplacée en arrière-plan.

Je considère comme un avantage du snack-bar de limiter sa portée à une activité et de pouvoir la rejeter.

Peter F
la source