在任何平台上都有类似加载程序默认行为的加载操作时,如何停止/阻止背景活动。
我的目的是保持背景稳定(不应执行任何操作)。 下面是我的代码供参考。
@override
Widget build(BuildContext context) {
switch (authStatus) {
case AuthStatus.NOT_DETERMINED:
return buildWaitingScreen();
break;
case AuthStatus.NOT_LOGGED_IN:
return new LoginSignupPage(
auth: widget.auth,
loginCallback: loginCallback,
);
break;
case AuthStatus.LOGGED_IN:
if (_userId.length > 0 && _userId != null) {
return new HomePage(
userId: _userId,
auth: widget.auth,
logoutCallback: logoutCallback,
);
} else
return buildWaitingScreen();
break;
default:
return buildWaitingScreen();
}
}
}
Widget buildWaitingScreen() {
return Scaffold(
body: Container(
alignment: Alignment.center,
child: CircularProgressIndicator(),
),
);
}
现在我可以滚动背景页面,单击背景页面中的按钮等,这是可以避免的。
答案 0 :(得分:1)
我认为您正在寻找的是ModalBarrier
以下是有关如何在您的用例中使用此示例代码。
这会在加载屏障之前加载带有障碍物的图标,直到计时器到期,并且您无法在此间隔内与后台屏幕进行交互(尝试在此间隔内单击fab图标)。
for i, (images, labels) in enumerate(generator):
if i >= 10:
break