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

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

Я читал о блог google.

Snackbars обеспечивают облегченную обратную связь о деятельности в малом всплывающее окно в нижней части экрана на мобильном телефоне и в левом нижнем углу рабочий стол. Они превыше всего. на экране, включая ПОТРЯСАЮЩИЙ.

и тосты.

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

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

  • если мне не требуется взаимодействие с пользователем, я бы использовал тост?
  • что подразумевается под "системой обмена сообщениями"? Это относится к отображению информации, когда что-то важное произошло между моим приложением и системой Android?
  • что мне нравится, это функция swipe off screen - будет ли это причиной для начала замены тостов на snackbars? (это немного вопрос, основанный на мнении)

6 ответов


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

вы все еще можете использовать snackbar. Не обязательно иметь действие с snackbar.

что такое "система обмена сообщениями"? Применимо ли это к отображению информацию, когда что-то важное произошло между моим приложением и Системы Android?

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

что мне нравится, так это функция swipe off screen - будет ли это причиной чтобы начать заменять тосты на snackbars? (это немного мнение на основе вопрос хотя)

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

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


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

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                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 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+

тост:

  1. тост был добавлен в API уровня 1
  2. в основном активность не требуется (может быть показано на Android home или даже выше других приложений)
  3. Он не может выполнять действие на основе пользовательского ввода
  4. это не может быть отклонено путем swiping
  5. этого не может обрабатывать пользовательский ввод, как салфетки, нажмите и т. д.
  6. отображение информационных сообщений в

закусочная:

  1. SnackBar был добавлен в уровень API 23
  2. Это может быть показано внутри активности приложений
  3. Он может выполнять действие
  4. его можно отклонить, проводя
  5. Он может обрабатывать пользовательский ввод
  6. хорошо для показа сообщений типа предупреждения / информации пользователю, который требует внимания

использование SnackBar и Тост:

закусочная:

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

тост:

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

Например:

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


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

ради последовательности имеет смысл выбрать тост или закусочную и применить это на протяжении всего вашего приложения.


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

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

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

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

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