使用 Snackbar 创建通知

Snackbar 组件是一个短暂的通知,它会出现在屏幕底部。它提供有关操作或操作的反馈,而不会中断用户体验。Snackbar 会在几秒后消失。用户也可以通过轻触按钮等操作将其关闭。

考虑以下三种可能用到 Snackbar 的用例

  • 操作确认: 用户删除电子邮件或消息后,会出现一个 Snackbar,以确认操作并提供“撤消”选项。
  • 网络状态: 当应用失去网络连接时,会弹出一个 Snackbar,提示应用当前处于离线状态。
  • 数据提交: 成功提交表单或更新设置后,Snackbar 会提示更改已成功保存。

版本兼容性

此实现要求你的项目 minSDK 设置为 API 级别 21 或更高。

依赖项

创建基本 Snackbar

为了实现 Snackbar,你首先需要创建 SnackbarHost,它包含一个 SnackbarHostState 属性。SnackbarHostState 提供对 showSnackbar() 函数的访问权限,你可以使用该函数显示 Snackbar。

这个挂起函数需要一个 CoroutineScope,例如使用 rememberCoroutineScope,并且可以在响应 UI 事件时调用,以在 Scaffold 中显示 Snackbar

创建带操作的 Snackbar

你可以提供可选的操作并调整 Snackbar 的持续时间。snackbarHostState.showSnackbar() 函数接受额外的 actionLabelduration 参数,并返回一个 SnackbarResult

你可以使用 snackbarHost 参数提供自定义 Snackbar。有关更多信息,请参阅 SnackbarHost API 参考文档

结果

图 1. 带操作的 Snackbar 通知。

包含本指南的合集

本指南是以下精选快速指南合集的一部分,这些合集涵盖了更广泛的 Android 开发目标

了解可组合函数如何让你轻松创建基于 Material Design 设计系统的美观 UI 组件。

有疑问或反馈意见?

前往我们的常见问题页面了解快速指南,或联系我们告知你的想法。