[英]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.