停止背景活动颤动

时间:2020-01-22 05:45:20

标签: flutter dart

在任何平台上都有类似加载程序默认行为的加载操作时,如何停止/阻止背景活动。

我的目的是保持背景稳定(不应执行任何操作)。 下面是我的代码供参考。

验证页

  @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();
    }
  }
}

buildWaitingScreen()

  Widget buildWaitingScreen() {
    return Scaffold(
      body: Container(
        alignment: Alignment.center,
        child: CircularProgressIndicator(),
      ),
    );
  }

现在我可以滚动背景页面,单击背景页面中的按钮等,这是可以避免的。

1 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是ModalBarrier

以下是有关如何在您的用例中使用此示例代码。

这会在加载屏障之前加载带有障碍物的图标,直到计时器到期,并且您无法在此间隔内与后台屏幕进行交互(尝试在此间隔内单击fab图标)。

for i, (images, labels) in enumerate(generator):
    if i >= 10:
        break