本文介绍了Snackbar的使用。
概述
Snackbars显示在屏幕底部包含一个文本和单一选项动作。它和Toast一样在一定时间后自动消失。Snackbars可以被用户滑出或包含其它动作让它比Toast更强大。然而,API是非常熟悉的。
注意在底部的Snackbar右边包含一个 UNDO 文本。查看这个设计指南获取更多信息。
简单Snackbar
确保首先根据Design Support Library说明进行了配置。
使用make
创建一个Snackbar,设置动作选项然后调用.show()
:
1 | Snackbar.make(parentView, R.string.snackbar_text, Snackbar.LENGTH_LONG) |
和使用Toast不同的是Snackbar第一个参数parentView
需要一个View
而不是Context。Snackbar使用parentView
参数是为了向上移动父View层级寻找一个CoordinatorLayout
,FrameLayout
或顶级布局容器,总之第一个为准。在View层级中添加CoordinatorLayout
可以解决FAB需要为了显示Snackbar向上移动在这已经讨论过。
在support library最近的更新中,你可以指定LENGTH_INDEFINITE
将会一直显示Snackbar直到它消失或另一个显示:
1 | Snackbar.make(parentView, R.string.snackbar_text, Snackbar.LENGTH_INDEFINITE).show(); |
这个可以帮助错误信息应该一直显示在屏幕上直到用户执行动作。
配置选项
我们可以使用其它配置选项例如setActionTextColor
和 setDuration
:
1 | Snackbar.make(parentView, R.string.snackbar_text, Snackbar.LENGTH_LONG) |
That’s all!
References
- http://android-developers.blogspot.com/2015/05/android-design-support-library.html
- http://developer.android.com/reference/android/support/design/widget/Snackbar.html
- http://www.google.com/design/spec/components/snackbars-toasts.html