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


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

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

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

и тосты.

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

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

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

6 ответов:

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

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

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

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

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

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

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

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

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                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 Level 1
  2. в основном активность не требуется (может быть показано на Android home или даже выше других приложений)
  3. он не может выполнить действие на основе пользовательского ввода
  4. Он не может быть уволен, проводя
  5. этого не может обрабатывать пользовательский ввод, как салфетки, нажмите и т. д.
  6. хорошо для показа информационных сообщений

закусочная:

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

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

закусочная:

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

тост:

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

Например:

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

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

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

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

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

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

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

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