Snackbar是Android 5.0新特性——Material Design中的一个控件,用来代替Toast,Snackbar与Toast的主要区别是:Snackbar可以滑动退出,也可以处理用户交互(点击)事件。
Snackbar的特性
- Snackbar会在超时或者用户在屏幕其他地方触摸之后自动消失
- 可以在屏幕上滑动关闭
- 出现时不会阻碍用户在屏幕上的输入
- 屏幕上同时最多只能显示一个Snackbar
- 如果在屏幕上有一个Snackbar的情况下再显示一个Snackbar,则先将当前显示的Snackbar隐藏后再显示新的Snackbar
- 可以在Snackbar中添加一个按钮,处理用户点击事件
在Flutter开发时,对于提示性信息,有人已经想到写一个插件去调用Android原生的Toast,且不说还要兼容IOS,这种反历史潮流的行为,一方面伤害了移动端的UI统一体验,另一方面对于主打Material Design设计的Flutter来说,也是不符合Google开发这套框架的初衷的。
言归正传,我们重点看看怎么使用这个控件, SnackBar是通过Scaffold的showSnackBar方法来显示的。所以要显示一个SnackBar,要先拿到Scaffold。
根布局使用Scaffold