如何在执行任务和完成任务对话后创建进度对话框应该被解雇?

问题描述 投票:2回答:1

如何添加Progressbar?

单击按钮后,我需要在执行任务时显示进度条,完成任务后,如果成功登录,则应关闭对话框并移至下一页。

在凸起的按钮:

onPressed: () async {
  (isOffline)
  ? showSnackBar(context)
  : checkingValidation(usernameController, context, _url);
}


checkingValidation(TextEditingController usernameController, BuildContext context, String _url) async {
if(....){
...
}else{
    Navigator.push(
       context,
       MaterialPageRoute(
       builder: (context) => HomePage()))
}
dart flutter async-await
1个回答
1
投票

你应该使用Stack并在里面使用你想要的警告对话框。添加一个像bool showProgress的标志,无论何时需要显示进度警告对话框,或者隐藏在showProgress=true中分别设置showProgress=falsesetState以显示或隐藏警报对话框小部件。

或者只是使用我创建的模板。

  static showProgressDialog(BuildContext context, String title) {
    try {
      showDialog(
          context: context,
          barrierDismissible: false,
          builder: (context) {
            return AlertDialog(
              content: Flex(
                direction: Axis.horizontal,
                children: <Widget>[
                  CircularProgressIndicator(),
                  Padding(padding: EdgeInsets.only(left: 15),),
                  Flexible(
                      flex: 8,
                      child: Text(
                        title,
                        style: TextStyle(
                            fontSize: 16, fontWeight: FontWeight.bold),
                      )),
                ],
              ),
            );
          });
    } catch (e) {
      print(e.toString());
    }
  }

当你想要显示这个只是调用AppUtils.showProgressDialog(context, "Please wait");

当你完成任务时,只需要调用Navigator.pop(context);

您可以将类创建为AppUtils并将此模板放在课堂中,这样您就可以在应用中的任何位置重复使用它。

© www.soinside.com 2019 - 2024. All rights reserved.