gpt4 book ai didi

flutter - 如何调用一个函数来显示一个snackBar?

转载 作者:行者123 更新时间:2023-12-03 04:52:16 25 4
gpt4 key购买 nike

我想创建一个功能来显示 snackbar 。当我调用我的函数“ErrorPage”时,什么都没有发生。我没有语法错误。

主页.dart

import 'package:flutter/material.dart';
import 'package:MyApp/src/screens/error.dart';

ErrorPage(message: "Can't reach the servers, \n Please check your internet connection!!!",);
//Nothing happening

错误.dart
import 'package:flutter/material.dart';

class ErrorPage extends StatelessWidget {
final String message;

const ErrorPage({Key key, this.message = "There was an unknown error." }) : super(key: key);


@override
Widget build(BuildContext context){
print("-------test------");
return SnackBar(
content: Text(message),
duration: Duration(seconds: 3),
);

}
}

最佳答案

创建一个类,在其下创建一个函数,然后调用该函数来触发小吃吧

注意点:您需要通过 GlobalKey如果您希望 snackbar 在全局范围内可访问,请前往 snackbar 。

GlobalKey 将使您能够在该特定屏幕上显示 snackbar 。

//for creating a _scaffoldKey
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

//then add the reference of this key to your `scaffold` widget under `key` parameter
Scaffold(
key: _scaffoldKey,
body: //your widgets
);

然后创建一个新类
Class GlobalValues{
static showSnackbar(_scaffoldKey, String msg) {
_scaffoldKey.currentState.showSnackBar(new SnackBar(
duration: Duration(milliseconds: 1000),
content: new Text(msg),
backgroundColor: Colors.grey[800]));
}
}

像这样从任何你想要的地方打电话
GlobalValues.showSnackbar(_scaffoldKey, "your message");

PS:可以使用 GlobalValues类来存储/访问变量,应该可以在您的应用程序中全局访问的函数。

关于flutter - 如何调用一个函数来显示一个snackBar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61191342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com