Dart 如何根据条件在整个应用程序中显示小部件?

Dart 如何根据条件在整个应用程序中显示小部件?,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,如果网络连接不存在,我会显示一个snackbar。我已经创建了一个单独的有状态小部件来检查连通性并显示小吃店,但我必须将其添加到所有屏幕中,因此我想知道是否有更好的方法将其包含在所有屏幕中。您的问题不清楚,但我想如果网络不可用,您应该显示小吃店,? 要获取连接状态,可以使用以下命令: var connectivityResult = await (new Connectivity().checkConnectivity()); if (connectivityResult == Connecti

如果网络连接不存在,我会显示一个snackbar。我已经创建了一个单独的有状态小部件来检查连通性并显示小吃店,但我必须将其添加到所有屏幕中,因此我想知道是否有更好的方法将其包含在所有屏幕中。

您的问题不清楚,但我想如果网络不可用,您应该显示小吃店,? 要获取连接状态,可以使用以下命令:

var connectivityResult = await (new Connectivity().checkConnectivity());
if (connectivityResult == ConnectivityResult.mobile ||
    connectivityResult == ConnectivityResult.wifi) {
} else {
  Scaffold(
    appBar: AppBar(
      title: Text('SnackBar Demo'),
    ),
    body: Center(
      child: Text('No  Internet'),
    ), // You'll fill this in below!
  );
}

我能够做到这一点,现在我想在我的应用程序的所有屏幕上实现这一点。我想知道一个简单的方法来做到这一点,而不是到处添加它(即使它只是到处调用一个构造函数)。,在这里,您必须传递上下文并检查此方法内的连接状态。我有一个StreamSubscription,每次连接更改时都必须设置状态。因此,我创建了一个有状态的小部件。无论如何,我的观点是不要在每个屏幕上调用这个小部件。我想知道是否有类似于主题的东西,可以在整个应用程序中应用,而无需我在每个屏幕上显式调用它。你找到任何解决方案了吗?也许在MaterialApp子级中使用堆栈小部件实现它对你有用。