Flutter SnackBar 提示信息

SnackBar是用户操作后,显示提示信息的一个控件,类似Toast,会自动隐藏。它还可以添加操作按钮,等等。SnackBar是通过ScaffoldshowSnackBar方法来显示的。所以要显示一个SnackBar,要先拿到Scaffold。

当BuildContext在Scaffold之前时,调用Scaffold.of(context)会报错。这时可以通过Builder Widget来解决

 参数详解

属性 说明
content 内容
backgroundColor 背景颜色
elevation 阴影高度
shape 形状
behavior

位置

SnackBarBehavior.fixed // 固定在底部

behavior:SnackBarBehavior.floating,//显示在[底部导航栏]上方

action 动作(通常放按钮)
duration 停留时间,如一秒:Duration(seconds: 1),
animation 显示/隐藏动画

代码示例

//定义一个SnackBar
final snackBar = new SnackBar(content: new Text('这是一个SnackBar!'));

//显示SnackBar
Scaffold.of(context).showSnackBar(snackBar);

 Builder 用法

Builder(builder: (BuildContext context) {
  return Center(
    child: InkWell(
      onTap: () {
        //定义
        final mySnackBar = SnackBar(
          content: Text('我是SnackBar'),
          backgroundColor: Colors.black26,
          duration: Duration(seconds: 1),
          behavior:SnackBarBehavior.floating,
          action: SnackBarAction(
            label: '我是scackbar按钮', 
            onPressed: () {
              print('点击了snackbar按钮');
            }
          ),
        );
        //显示
        Scaffold.of(context).showSnackBar(mySnackBar);
      },
      child: Padding(padding: EdgeInsets.all(10),child: Text('点 我'),),
    ),
  );
}),

效果图

完整代码

查看完整代码

发布了86 篇原创文章 · 获赞 166 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/ruoshui_t/article/details/95749935