2015-12-23 11 views
59

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

Я читал на the google blog.

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

и тосты.

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

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

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

ответ

58

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

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

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

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

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

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

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

+10

Приветствия, точка с незабываемой закуской, пока вы находитесь в действии, действительно полезна. –

+5

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

+5

Еще одно замечание - тосты не отображаются, когда уведомления отключены. – Horatio

1

Google Material Design Specification говорит, что это нормально, если есть закуска без действия. Они представили примеры того, как выглядит Snackbar, если в нем отображается только одна строка. Я бы предположил, что «системные сообщения» означают события устройства, такие как потеря связи в сети, в то время как архивирование электронной почты является конкретным действием Gmail, например.

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

1

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

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

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

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

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

Тост:

  1. Тост был добавлен в уровне API 1
  2. В основном активность не требуется (Может быть показано на Android дома или даже выше других приложений)
  3. Это может 't выполнить действие, основанное на пользовательском вводе
  4. Нельзя отменить, проверив
  5. Он не может обрабатывать ввод пользователя, например, Swipe, Click и т. Д.
  6. Хорошо для показа информационных сообщений пользователя

закусочной:

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

Использование закусочной и Тост:

закусочной:

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

Тост:

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

Для примера:

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

+1

источник: http://programmerguru.com/android-tutorial/snackbar-vs-toast/ –

0

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

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