Мы используем только тосты в нашем приложении до сих пор, и поскольку мы планируем принять некоторые новые функции в библиотеке поддержки дизайна, мне интересно, какое рекомендуемое использование для Snackbar vs. Toast.
Я читал в блоге Google.
Закуски обеспечивают легкую обратную связь об операции в небольшой всплывающее окно на базе экрана на мобильном телефоне и в левом нижнем углу рабочий стол. Они выше всех элементов на экране, включая FAB.
и тосты.
Android также предлагает капсульный тост, в основном используемый для системные сообщения. Тосты похожи на закусочные, но не содержат действия и не могут быть выведены из экрана.
Я понимаю, что они делают, но я немного смущен, когда использовать что. Означает ли это, что:
Если я не требую взаимодействия с пользователем, я бы использовал тост?
Вы все еще можете использовать закусочную. Не обязательно иметь действие со снэк-баром.
Что означает "системный обмен сообщениями"? Это относится к отображению когда произошло что-то важное между моим приложением и Android-система?
Я считаю, что это означает, что Тосты должны использоваться, если есть некоторые мессаты, относящиеся к системе. Либо андроид в целом, либо какое-то фоновое обслуживание, которое вы можете запустить. Например. Text-To-Speech is not installed.
ИЛИ No Email client found.
Что мне нравится, так это прокрутка экрана - это было бы причиной начать заменять тосты закусочными? (это немного основано на мнениях вопрос хотя)
Это одна из причин. Но есть еще несколько плюсов. Например: Ваш тост остается на экране, даже когда действие завершено. Закусочная машина не работает.. Существует меньше путаницы, если тост не появляется (или продолжает появляться в случае множественного создания Тоста в последовательности) после выхода приложения. Это не произойдет с закусочной.
Больше всего: я предлагаю, если вы думаете, вы должны переключиться. SnackBars выглядят намного лучше Тостов.
Я хотел бы добавить небольшое сравнение между тостами и снэк-баром. На мой взгляд, если вы намерены представить предупреждение или информацию, требующие взаимодействия с пользователем/подтверждения, вы должны использовать закусочную. Если это просто информационное сообщение, которое не требует подтверждения пользователем, вы можете использовать тост.
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # | 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 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
Тост:
закусочной:
Использование SnackBar и Toast:
закусочной:
SnackBar может использоваться в тех областях, где необходимо отображать простое всплывающее сообщение вместе с опцией для выполнения действий. Например: в приложении GMail при удалении почты быстрый экран SnackBar внизу с сообщением "1 удалено кнопкой действия" Отменить. При нажатии кнопки "Отменить действие" удаленная почта будет восстановлена.
Тост:
Тост может использоваться в тех областях, где необходимо отображать сообщения системы.
Пример:
Когда ваше приложение пытается загрузить JSON с удаленного сервера, но оно выходит из строя из-за таймаута сервера или не найденного ресурса, вам просто нужно отобразить сообщение об ошибке "Ошибка. Но понять, что сообщение Toast не может быть отклонено путем прокрутки. Если вы все еще хотите иметь возможность отклонить его в своем приложении, перейдите на SnackBar.
Короткий ответ заключается в том, что это два способа передачи информации пользователю, которые происходят в фоновом режиме, и вы можете выбрать один из них, оба они оба хороши. Просто убедитесь, что вы используете один и тот же, а не переключаетесь между ними взад и вперед.
Длинный ответ:
Google Спецификация дизайна материалов говорит, что это нормально, если есть Snackbar без действия. Они представили примеры того, как выглядит Snackbar, если в нем отображается только одна строка. Я бы предположил, что "системные сообщения" означают события устройства, такие как потеря связи в сети, например, архивирование электронной почты - это конкретное действие Gmail.
Для обеспечения согласованности имеет смысл выбрать либо Toast, либо Snackbar, и применять его во всем приложении.
Наша команда дизайнеров рассматривает использование тостов или закусочных. Мы пришли к выводу, что приложение должно использовать snackbars с учетом его гибкости.
Тосты должны использоваться только тогда, когда нам нужна постоянная, короткая строка, информационное сообщение, которое все еще имеет смысл на разных экранах.