扑:如何在页面前面添加加载(ios样式)?

时间:2020-09-30 06:19:21

标签: flutter

我是新手。我想要页面前面的loading动画(iOS风格)。我已经搜索了抖动加载api,但不是我想要的。我该如何实现?提前致谢。 enter image description here

1 个答案:

答案 0 :(得分:0)

它具有一个名为barrierDismissible的属性,如果将其设置为false,则用户将无法关闭屏幕或与之交互。

void _openLoadingDialog(BuildContext context) {
showDialog(
barrierDismissible: false,
context: context,
builder: (BuildContext context) {
  return AlertDialog(
    content: CircularProgressIndicator(),
      );
    },
  );
}

完成API加载后,请调用Navigator.pop(context);。关闭对话框。

要防止用户单击“对话框”上的后退按钮以将其关闭,请将您的Scaffold封装在WillPopScope小部件中并实现onWillPop功能。

 @override
    Widget build(BuildContext context) {
    enter code here return WillPopScope(
       child: Scaffold(
       body: Container(),
    ) ,
    onWillPop: _onBackButton
  );
}

 Future<bool> _onBackButton() {
 // Implement your logic
 return Future.value(false);
 }

如果在其上返回false,则用户将无法按下“后退”按钮。因此,请使用您想要的任何逻辑,例如“如果我正在加载,则返回false,否则返回true”。

或者您可以使用全屏加载器:显示全屏加载器的最佳解决方案是使用软件包this