Android - Snackbar vs Toast - zastosowanie i różnica

104

Do tej pory używaliśmy tylko Toastów w naszej aplikacji, a ponieważ planujemy zastosować kilka nowych funkcji z biblioteki Support Design Library, zastanawiam się, jakie jest zalecane użycie dla Snackbar vs. Toast.

Czytałem w Google Material z przekąskami doc.

Snackbary zapewniają niewielką informację zwrotną o operacji w małym wyskakującym okienku u podstawy ekranu na telefonie komórkowym oraz w lewym dolnym rogu na komputerze. Są to przede wszystkim elementy na ekranie, w tym FAB.

i tosty.

Android zapewnia również toast w kształcie kapsułki, używany głównie do przesyłania wiadomości systemowych. Tosty są podobne do batonów z przekąskami, ale nie zawierają działań i nie można ich usunąć z ekranu.

Rozumiem, co robią, ale jestem trochę zdezorientowany, kiedy użyć czego. Czy to oznacza, że:

  • Jeśli nie wymagam interakcji użytkownika, wzniósłbym toast?
  • Co oznacza „komunikaty systemowe”? Czy dotyczy to wyświetlania informacji, gdy coś ważnego wydarzyło się między moją aplikacją a systemem Android?
  • Podoba mi się funkcja przesunięcia ekranu - czy to byłby powód, aby zacząć zastępować tosty batonami z przekąskami? (jest to jednak pytanie oparte na opiniach)
Jakub Holovsky
źródło
Ten link już nie działa. Może ten powinien być użyty material.io/guidelines/components/snackbars-toasts.html ?
Vadim Kotov

Odpowiedzi:

109

Jeśli nie wymagam interakcji użytkownika, wzniósłbym toast?

Nadal możesz używać Snackbar. Nie jest obowiązkowe posiadanie akcji z Snackbar.

Co oznacza „komunikaty systemowe”? Czy dotyczy to wyświetlania informacji, gdy coś ważnego wydarzyło się między moją aplikacją a systemem Android?

Uważam, że oznacza to, że toasty mają być używane, jeśli są jakieś komunikaty dotyczące systemu. Albo Android jako całość, albo usługa działająca w tle. Np. Text-To-Speech is not installed.ORNo Email client found.

Podoba mi się funkcja przesunięcia ekranu - czy to byłby powód, aby zacząć zastępować tosty Snackbarem? (jest to jednak pytanie oparte na opiniach)

To jeden z powodów. Ale jest kilka innych plusów. Na przykład: Twój toast pozostaje na ekranie nawet po zakończeniu czynności. Snackbar nie. Jest mniej zamieszania, jeśli toast nie wyskakuje (lub wyskakuje nadal w przypadku wielokrotnego tworzenia Toast w sekwencji) długo po zamknięciu aplikacji. To się nie stanie w przypadku Snackbar.

Bardziej niż wszystko: jeśli myślisz, sugeruję zmianę. SnackBary wyglądają znacznie lepiej niż Tosty.

AndroidMechanic - Viral Patel
źródło
19
Na zdrowie, fakt, że Snackbar żyje tylko podczas aktywności, jest naprawdę przydatny.
Jakub Holovsky
9
Dodam, że toasty są preferowane w przypadku wiadomości, które odnoszą się do aplikacji jako całości, oprócz wiadomości systemowych, podczas gdy Snackbary są preferowane w przypadku wiadomości, które odnoszą się do bieżącej aktywności. Na przykład, jeśli Twoja aplikacja sprawdza dostępność aktualizacji podczas uruchamiania, najlepiej użyć toastu jako komunikatu o wynikach. Jeśli Twoja aplikacja zawiera elementy, które można usunąć, preferowane jest wyświetlanie usuniętej odpowiedzi jako paska przekąskowego z przyciskiem cofania.
Subaru Tashiro
10
Należy jeszcze pamiętać, że toasty nie są wyświetlane, gdy powiadomienia są wyłączone.
Horatio,
Ważną różnicą jest również to, że w dowolnym momencie wyświetlany jest tylko jeden Snackbar, w przeciwieństwie do Toast - możesz mieć wiele Toastów wyświetlanych jeden na drugim, co może być denerwujące dla użytkownika, zwłaszcza biorąc pod uwagę fakt, że nie można ich usunąć przesuwając.
Firzen
47

Chciałbym dodać małe porównanie tostów i batonów. Moim zdaniem, jeśli zamierzasz przedstawić ostrzeżenie lub informację, która wymaga interakcji / potwierdzenia ze strony użytkownika, powinieneś użyć batonika. Jeśli jest to tylko wiadomość informacyjna, która nie wymaga potwierdzenia od użytkownika, możesz użyć toastu.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                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
źródło
26

Toast:

  1. Toast został dodany na poziomie API 1
  2. Zasadniczo aktywność nie jest wymagana (może być wyświetlana w domu z systemem Android lub nawet nad innymi aplikacjami)
  3. Nie może wykonać akcji na podstawie danych wejściowych użytkownika
  4. Nie można go odrzucić, przesuwając palcem
  5. Nie obsługuje danych wejściowych użytkownika, takich jak przeciągnięcie, kliknięcie itp.
  6. Dobry do pokazywania użytkownikowi wiadomości informacyjnych

Batonik:

  1. SnackBar został dodany na poziomie API 23
  2. Można to pokazać w ramach działania aplikacji
  3. Może wykonać akcję
  4. Można go odrzucić, przesuwając palcem
  5. Może obsługiwać dane wejściowe użytkownika
  6. Dobre do wyświetlania ostrzeżeń / wiadomości typu informacji użytkownikowi, który wymaga uwagi

Zastosowanie SnackBar i Toast:

Batonik:

SnackBar może być używany w obszarach, w których musi być wyświetlany prosty komunikat wyskakujący wraz z opcją wykonania akcji. Na przykład: w aplikacji GMail, gdy usuwasz pocztę, na dole pojawia się szybki pasek SnackBar z komunikatem „1 Usunięto” z przyciskiem akcji „Cofnij”. Po naciśnięciu przycisku akcji „Cofnij” usunięta poczta zostanie przywrócona.

Toast:

Toast może być używany w obszarach, w których mają być wyświetlane komunikaty systemowe.

Na przykład:

Gdy Twoja aplikacja próbuje pobrać JSON ze zdalnego serwera, ale kończy się to niepowodzeniem z powodu przekroczenia limitu czasu serwera lub braku zasobu, wystarczy wyświetlić komunikat o błędzie informujący, że wystąpił błąd. Ale zrozum, że wiadomości Toast nie można odrzucić, przesuwając palcem. Jeśli nadal chcesz mieć możliwość odrzucenia go w swojej aplikacji, przejdź do SnackBar.

Dhaval Jivani
źródło
13

Zgodnie z oficjalną dokumentacją na stronie Przegląd wiadomości pop-up :

Uwaga: na bistrem class zastępuje Toast . Chociaż Toast jest obecnie nadal obsługiwany, Snackbar jest teraz preferowanym sposobem wyświetlania krótkich, przejściowych wiadomości dla użytkownika.

oraz dokumentacja (Material Design) Snackbars :

Pojęcia pokrewne: Android udostępnia również klasę Toast z podobnym interfejsem API, którego można używać do wyświetlania powiadomień na poziomie systemu. Ogólnie rzecz biorąc, snackbary są preferowanym mechanizmem wyświetlania komunikatów zwrotnych użytkownikom, ponieważ mogą być wyświetlane w kontekście interfejsu użytkownika, w którym nastąpiło działanie. Zarezerwuj toast w przypadkach, w których nie można tego zrobić.

lcnicolau
źródło
2

Specyfikacja projektu materiałów Google mówi, że Snackbar bez działania jest w porządku. Podali przykłady tego, jak powinien wyglądać Snackbar, jeśli wyświetla tylko jeden ciąg. Zakładam, że „Wiadomości systemowe” oznaczają zdarzenia związane z urządzeniem, takie jak utrata połączenia sieciowego - podczas gdy archiwizacja wiadomości e-mail jest na przykład działaniem specyficznym dla Gmaila.

Ze względu na spójność warto wybrać toast lub batonik i zastosować go w całej aplikacji.

fractalwrench
źródło
1
Ten link został przeniesiony: material.io/design/components/snackbars.html
Antonio Vinicius Menezes Medei,
1

Krótka odpowiedź jest taka, że ​​są to 2 sposoby przekazywania użytkownikowi rzeczy, które dzieją się w tle, i możesz wybrać jeden z nich, oba są w porządku. Upewnij się tylko, że używasz tego samego i nie przełączasz się między nimi w tę iz powrotem.

Długa odpowiedź:

  • Nie, to znaczy, że jeśli potrzebujesz jakiejś akcji, musisz użyć Snackbar. Nadal możesz używać Snackbar tylko do wiadomości (np. „Przesyłanie zakończone”).
  • Termin „system” nie oznacza tylko systemu Android. Na przykład - jeśli wystąpił problem z analizowaniem json podczas pobierania informacji z serwera, nadal możesz użyć toastu, aby pozwolić użytkownikowi na wystąpienie problemu podczas komunikacji z serwerem.
  • Jeśli naprawdę chcesz to usunąć, to absurdalnie jest to powód, aby wybrać Snackbar
shem
źródło
1

Nasz zespół projektowy rozważa również użycie tostów lub batonów. Doszliśmy do wniosku, że aplikacja powinna korzystać z snackbarów, biorąc pod uwagę jej elastyczność.

Tosty powinny być używane tylko wtedy, gdy potrzebujemy trwałego, krótkiego komunikatu informacyjnego, który nadal ma sens na różnych ekranach.

Vennsoh
źródło
1

Różnica między Toast i Snackbar Android

  • Toastowe wiadomości można dostosować i wydrukować w dowolnym miejscu na ekranie, ale Snackbar może być wyświetlany tylko na dole ekranu.
  • Wiadomość Toast nie ma przycisku akcji, ale Snackbar może opcjonalnie mieć przycisk akcji.
  • Wiadomość toast nie może być wyłączona przed upływem limitu czasu, ale Snackbar można usunąć przed upływem czasu.
  • Możesz ustawić, jak długo wiadomość będzie wyświetlana, używając tych trzech różnych wartości.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

Stosowanie

Toast

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

Batonik

Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);
snackbar.show();
Velmurugan Murugesan
źródło
0

Android zapewnia również toast w kształcie kapsułki, używany głównie do przesyłania wiadomości systemowych.

Myślę, że w przypadku „komunikatów systemowych” odnoszą się również do faktu, że toast będzie wyświetlany przez określony czas i nie można go odrzucić, nawet jeśli użytkownik porusza się po działaniach, a nawet jeśli aplikacja zostanie przeniesiona w tło.

Uważam, że zaletą batonika jest ograniczenie jego zakresu do czynności i możliwość jej odrzucenia.

Peter F.
źródło