使用 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 组件。

有问题或反馈?

访问我们的常见问题页面,了解快速指南,或与我们联系,告诉我们您的想法。