Компонент снэкбара служит кратким уведомлением, которое появляется в нижней части экрана. Он обеспечивает обратную связь об операции или действии, не прерывая работу пользователя. Закусочные исчезают через несколько секунд. Пользователь также может закрыть их с помощью действия, например, нажав кнопку.
Рассмотрим эти три варианта использования закусочной:
- Подтверждение действия: после того, как пользователь удаляет электронное письмо или сообщение, появляется снэк-бар для подтверждения действия и предложения опции «Отменить».
- Статус сети: когда приложение теряет подключение к Интернету, появляется панель с закусками, сообщающая, что оно теперь не в сети.
- Отправка данных: после успешной отправки формы или обновления настроек снэкбар отмечает, что изменение успешно сохранено.
Совместимость версий
Для этой реализации требуется, чтобы для minSDK вашего проекта был установлен уровень API 21 или выше.
Зависимости
Создайте базовую закусочную
Чтобы реализовать снэкбар, вы сначала создаете SnackbarHost
, который включает свойство SnackbarHostState
. SnackbarHostState
предоставляет доступ к функции showSnackbar()
, которую вы можете использовать для отображения вашей закусочной.
Для этой функции приостановки требуется CoroutineScope
, например, при использовании rememberCoroutineScope
— и ее можно вызывать в ответ на события пользовательского интерфейса, чтобы отобразить Snackbar
в Scaffold
.
Создайте закусочную с действием
Вы можете указать дополнительное действие и настроить продолжительность Snackbar
. Функция snackbarHostState.showSnackbar()
принимает дополнительные параметры actionLabel
и duration
и возвращает SnackbarResult
.
Вы можете предоставить собственный Snackbar
с помощью параметра snackbarHost
. Дополнительную информацию см. в справочной документации по API SnackbarHost
.
Результаты
Коллекции, содержащие это руководство
Это руководство является частью тщательно подобранной коллекции быстрых руководств, охватывающих более широкие цели разработки Android:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=ru)