Android - Snackbar vs Toast - использование и разница

50

Мы используем только тосты в нашем приложении до сих пор, и поскольку мы планируем принять некоторые новые функции в библиотеке поддержки дизайна, мне интересно, какое рекомендуемое использование для Snackbar vs. Toast.

Я читал в блоге Google.

Закуски обеспечивают легкую обратную связь об операции в небольшой всплывающее окно на базе экрана на мобильном телефоне и в левом нижнем углу рабочий стол. Они выше всех элементов на экране, включая FAB.

и тосты.

Android также предлагает капсульный тост, в основном используемый для системные сообщения. Тосты похожи на закусочные, но не содержат действия и не могут быть выведены из экрана.

Я понимаю, что они делают, но я немного смущен, когда использовать что. Означает ли это, что:

  • Если я не требую взаимодействия с пользователем, я бы использовал тост?
  • Что означает "системный обмен сообщениями"? Это относится к отображению информации, когда что-то важное произошло между моим приложением и системой Android?
  • Что мне нравится, так это салфетка с экрана - это будет причина для начала замены тостов закусочными? (это вопрос, основанный на мнениях).
Теги:
android-toast
android-snackbar

6 ответов

49
Лучший ответ

Если я не требую взаимодействия с пользователем, я бы использовал тост?

Вы все еще можете использовать закусочную. Не обязательно иметь действие со снэк-баром.

Что означает "системный обмен сообщениями"? Это относится к отображению когда произошло что-то важное между моим приложением и Android-система?

Я считаю, что это означает, что Тосты должны использоваться, если есть некоторые мессаты, относящиеся к системе. Либо андроид в целом, либо какое-то фоновое обслуживание, которое вы можете запустить. Например. Text-To-Speech is not installed. ИЛИ No Email client found.

Что мне нравится, так это прокрутка экрана - это было бы причиной начать заменять тосты закусочными? (это немного основано на мнениях вопрос хотя)

Это одна из причин. Но есть еще несколько плюсов. Например: Ваш тост остается на экране, даже когда действие завершено. Закусочная машина не работает.. Существует меньше путаницы, если тост не появляется (или продолжает появляться в случае множественного создания Тоста в последовательности) после выхода приложения. Это не произойдет с закусочной.

Больше всего: я предлагаю, если вы думаете, вы должны переключиться. SnackBars выглядят намного лучше Тостов.

  • 13
    Приветствие, смысл в том, что Снэкбар жив, только когда вы находитесь на мероприятии, действительно полезен.
  • 7
    Я хотел бы добавить, что тосты предпочтительнее для сообщений, которые относятся к приложению в целом, в дополнение к системным сообщениям, в то время как Snackbars предпочтительнее для сообщений, которые относятся к текущей деятельности. Например, если ваше приложение проверяет наличие обновлений при запуске, лучше всего использовать тост для сообщения о результате. Если в вашем приложении есть элементы, которые можно удалить, предпочтительно, чтобы удаленное ответное сообщение отображалось в виде снэк-бара с кнопкой отмены.
Показать ещё 1 комментарий
24

Я хотел бы добавить небольшое сравнение между тостами и снэк-баром. На мой взгляд, если вы намерены представить предупреждение или информацию, требующие взаимодействия с пользователем/подтверждения, вы должны использовать закусочную. Если это просто информационное сообщение, которое не требует подтверждения пользователем, вы можете использовать тост.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                Toast                                 |                                 Snackbar                                 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| 1 | Can’t 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 | Can’t 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 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
7

Тост:

  • Тост был добавлен в API Level 1
  • В основном работа не требуется (может отображаться на Android дома или даже выше других приложений)
  • Он не может выполнять действие, основанное на пользовательском вводе
  • Он не может быть отклонен путем прокрутки
  • Он не может обрабатывать ввод пользователя, например, Swipe, Click и т.д.
  • Хорошо показывать информационные сообщения пользователю

закусочной:

  • SnackBar был добавлен в API уровня 23
  • Он может отображаться внутри действия приложений
  • Он может выполнять действие
  • Это может быть отклонено путем прокрутки
  • Он может обрабатывать ввод пользователя
  • Хорошо показывать сообщения типа предупреждения/информации пользователю, которому требуется внимание.

Использование SnackBar и Toast:

закусочной:

SnackBar может использоваться в тех областях, где необходимо отображать простое всплывающее сообщение вместе с опцией для выполнения действий. Например: в приложении GMail при удалении почты быстрый экран SnackBar внизу с сообщением "1 удалено кнопкой действия" Отменить. При нажатии кнопки "Отменить действие" удаленная почта будет восстановлена.

Тост:

Тост может использоваться в тех областях, где необходимо отображать сообщения системы.

Пример:

Когда ваше приложение пытается загрузить JSON с удаленного сервера, но оно выходит из строя из-за таймаута сервера или не найденного ресурса, вам просто нужно отобразить сообщение об ошибке "Ошибка. Но понять, что сообщение Toast не может быть отклонено путем прокрутки. Если вы все еще хотите иметь возможность отклонить его в своем приложении, перейдите на SnackBar.

1

Короткий ответ заключается в том, что это два способа передачи информации пользователю, которые происходят в фоновом режиме, и вы можете выбрать один из них, оба они оба хороши. Просто убедитесь, что вы используете один и тот же, а не переключаетесь между ними взад и вперед.

Длинный ответ:

  • Нет, это означает, что если вам нужно какое-то действие, вы должны использовать Snackbar. Вы можете использовать Snackbar только для сообщений (например, "Загрузка завершена" ).
  • Под "системой" это не просто система Android. Например, если была проблема с json-синтаксическим анализом при получении информации с вашего сервера, вы все равно можете использовать тост, чтобы у пользователя возникла проблема при общении с сервером.
  • Если вам действительно нужно пронести это, это нелогично, чтобы выбрать Snackbar
1

Google Спецификация дизайна материалов говорит, что это нормально, если есть Snackbar без действия. Они представили примеры того, как выглядит Snackbar, если в нем отображается только одна строка. Я бы предположил, что "системные сообщения" означают события устройства, такие как потеря связи в сети, например, архивирование электронной почты - это конкретное действие Gmail.

Для обеспечения согласованности имеет смысл выбрать либо Toast, либо Snackbar, и применять его во всем приложении.

0

Наша команда дизайнеров рассматривает использование тостов или закусочных. Мы пришли к выводу, что приложение должно использовать snackbars с учетом его гибкости.

Тосты должны использоваться только тогда, когда нам нужна постоянная, короткая строка, информационное сообщение, которое все еще имеет смысл на разных экранах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню