我是新手。我想要页面前面的loading
动画(iOS风格)。我已经搜索了抖动加载api,但不是我想要的。我该如何实现?提前致谢。
答案 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