firebase - flutter :CircularProgressIndicator()

标签 firebase dart material-design flutter floating-action-button

我正在尝试将 FloatingActionButton.extended 更改为按下后的 CircularProgressIndicator,等待 ensureLoggedIn() 函数执行完成然后转到下一个屏幕。

我的代码:

new FloatingActionButton.extended(
            elevation: 20.0,
            backgroundColor: Colors.white,
            onPressed: () async {
              await ensureLoggedIn();

              Navigator.push(
                  context, MaterialPageRoute(builder: (_) => HomeScreen()));
            },
            icon: Icon(
              Icons.insert_emoticon,
              size: 30.0,
              color: Colors.black,
            ),
            label: new Text(
              "JOIN NOW!",
              style: TextStyle(
                fontSize: 30.0,
                color: Colors.black,
              ),
            ),
          ),

最佳答案

为了处理 loading 变量,我稍微更改了您的代码。

将登录方法放在 build 方法之外,如下所示:

    login() async {
        setState(() {
          isLoading = true;
        });
        //your task here
        await ensureLoggedIn();
        setState(() {
          isLoading = false;
        });
        Navigator.push(context, MaterialPageRoute(builder: (_) => HomeScreen()));
      }   

您的小部件的一部分:

    isLoading
              ? CircularProgressIndicator()
              : new FloatingActionButton.extended(
                  elevation: 20.0,
                  backgroundColor: Colors.white,
                  onPressed: login,
                  icon: Icon(
                    Icons.insert_emoticon,
                    size: 30.0,
                    color: Colors.black,
                  ),
                  label: new Text(
                    "JOIN NOW!",
                    style: TextStyle(
                      fontSize: 30.0,
                      color: Colors.black,
                    ),
                  ),
                )

关于firebase - flutter :CircularProgressIndicator(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51663756/

相关文章:

dart - ShapeBorder Clipper 类和 CustomClipper<T> 类有什么区别

android - 工具栏中的 Material "close"按钮而不是返回

android - FirebaseRecyclerViewAdapter 的转换错误

ios - 尝试访问数据库时无法识别 Firebase 唯一标识符(用户 ID)并且应用程序崩溃? swift iOS9

firebase - 无法弄清楚如何使用 Gridsome-Plugin-Firestore

android - 如何以编程方式修复android上的圆角按钮?

Android Recyclerview - 在底部显示第一个项目并从下到上滚动以查看下一个项目

javascript - 选项卡未处于焦点时的 Firebase 通知

dart - dart-server/angulardart 和 CORS 的问题

transform - 如何查找转换完成的时间