版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Flutter 基础控件 SnackBar
/// SnackBar 示例
class SnackBarDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("SnackBar 示例"),
),
body: Builder(builder: (context) {
return Container(
child: Center(
child: RaisedButton(
onPressed: () {
Scaffold.of(context).showSnackBar(
SnackBar(
content: Text("RaisedButton 被点击了"),
// 添加了操作事件,如果不需要可以不添加
action: SnackBarAction(label: "我知道了", onPressed: () {
print("我知道了");
}),
)
);
},
child: Text("你点我呀!"),
),
),
);
})
);
}
}
效果
注意点
当BuildContext在Scaffold之前时,调用Scaffold.of(context)会报错。这时可以通过Builder Widget来解决
异常: Another exception was thrown: Scaffold.of() called with a context that does not contain a Scaffold.
body: Builder(builder: (context) {
retrun ...;
}