[英]how to show SnackBar in flutter?
如果没有可用的互联网连接,我想显示 SnackBar 怎么办? 我想在其他地方使用小吃店怎么办?
Future<void> checkStatus(ConnectivityResult result) async
{
{
if(result == ConnectivityResult.mobile || result == ConnectivityResult.wifi)
{
changeValues("Connected");
}
else
{
Show SnackBar Here
}
}
看看这个。
final snackBar = SnackBar(content: Text('Yay! A SnackBar!'));
// Find the Scaffold in the widget tree and use it to show a SnackBar.
Scaffold.of(context).showSnackBar(snackBar);
这是使用GlobalKey
显示SnackBar
的一种方式。
首先我们需要定义一个 GlobalKey 变量 => final GlobalKey _scaffoldKey
然后将其用作 Scaffold => 键中的键:_scaffoldKey
之后,您可以从自己的方法中使用它 => _scaffoldKey.currentState.showSnackBar
完整代码:
import 'package:flutter/material.dart';
class YourClass extends StatefulWidget {
const YourClass({Key key}) : super(key: key);
@override
_YourClassState createState() => _YourClassState();
}
class _YourClassState extends State<YourClass> {
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
void showSnackBar(String text) {
_scaffoldKey.currentState.showSnackBar(SnackBar(content: Text(text)));
}
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
body: RaisedButton(
onPressed: () {
showSnackBar("Your Custom Message");
},
child: Text("Show Snackbar")),
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.