如何从另一个窗口小部件推送和弹出一个窗口小部件从A到B的转换

问题描述

假设我有两个小部件A和B。A监听事件更改。事件类型是“连接状态”。

A --> One Widget (separate screen)
B --> Another Widget (separate screen)

Event Type
 |
 --> INTERNET_CONNECTED 
 --> INTERNET_NOT_CONNECTED

我想根据A内部触发的事件来推送和弹出B小部件。如果事件是INTERNET_NOT_CONNECTED,则推动B;如果INTERNET_CONNECTED然后弹出B。有人可以建议我如何实现它。谢谢...

解决方法

您可以在Stack()中使用Visibility()小部件来显示取决于变量的小部件。

Stack(
  children: [
    A(),Visibility(
      visible: _connected,//assuming _connected is a bool that returns true if INTERNET_NOT_CONNECTED
      child: B()
    ),],),
,

这样做,

制作一个StateFulWidget。


import 'package:connectivity/connectivity.dart';//https://pub.dev/packages/connectivity

@override
initState() {
  super.initState();
  getcon();
}

getcon() async{

var connectivityResult = await (Connectivity().checkConnectivity()).then((value) {
if (value== ConnectivityResult.mobile||value== ConnectivityResult.wifi) {
  Navigator.pop(context)//popping the screen A
Navigator.push()//write code here to push to screen B


}
                  ;

}