在执行任务时以及完成任务对话框后如何创建进度对话框应该被取消?

时间:2019-04-11 06:14:51

标签: dart flutter async-await

如何添加进度栏?

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

在“提升按钮”中:

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

1 个答案:

答案 0 :(得分:1)

您应该使用@font-face { font-family: 'Glyphicons Halflings'; src: url('../fonts/glyphicons-halflings-regular.eot'); } ,并在其中使用“使用警告”对话框。 只要需要显示或隐藏进度警报对话框,就添加一个Stack之类的标记,只需分别在bool showProgress中分别设置showProgress=trueshowProgress=false来显示或隐藏警报对话框小部件

或仅使用我创建的此模板。

setState

当您想显示此呼叫时 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);类,并将此模板放置在类中,以便可以在应用程序中的任何位置重复使用它。