快显消息 (Snackbar)
源:Snackbar
Snackbar 在屏幕底部提供关于应用流程的简短消息。

核心结构 (Anatomy)

- 容器 | 2. 文本内容 | 3. 操作按钮 (可选) | 4. 关闭图标 (可选)
代码实现
基础用法
kotlin
Snackbar.make(view, "消息已发送", Snackbar.LENGTH_SHORT).show()kotlin
Snackbar.make(view, "文件已删除", Snackbar.LENGTH_LONG)
.setAction("撤销") {
// 处理撤销逻辑
}
.show()交互增强
1. 锚定视图 (Anchoring)
你可以让 Snackbar 出现在特定视图(如 FAB)之上,避免遮挡。
kotlin
snackbar.setAnchorView(floatingActionButton)2. 自动躲避
配合 CoordinatorLayout
如果你的根布局是 CoordinatorLayout,当 Snackbar 弹出时,FAB 会自动上移,且 Snackbar 支持侧滑删除手势。
主题化
M3 的 Snackbar 默认使用反色方案(Dark Surface on Light Theme),你可以通过 snackbarStyle 自定义背景和圆角。
xml
<style name="Widget.App.Snackbar" parent="Widget.Material3.Snackbar">
<item name="backgroundTint">@color/my_custom_bg</item>
<item name="actionTextColorAlpha">1.0</item>
</style>