繁体   English   中英

如何实现在 Flutter 中显示/隐藏 android 和 iOS 的单独进度指示器/加载程序

[英]How to Implement to show/hide separate progress indicator / loader for android and iOS in Flutter

如何实现 android ios 设备的进度指示器自动显示**这里是参考图片**

Android iOS 进度指示器

android 和 iOS 的自动显示进度对话框

这里 CircularProgressIndicator() 用于 android CupertinoActivityIndicator() 用于 iOS

示例代码

class LoadingDialog extends StatelessWidget {
  static void show(BuildContext context, {Key? key}) => showDialog<void>(
        context: context,
        useRootNavigator: false,
        barrierColor: Colors.white,
        barrierDismissible: false,
        builder: (_) => LoadingDialog(key: key),
      ).then((_) => FocusScope.of(context).requestFocus(FocusNode()));

  static void hide(BuildContext context) => Navigator.pop(context);

  const LoadingDialog({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async => false,
      child: Center(
        child: Platform.isAndroid
            ? const CircularProgressIndicator()
            : CupertinoActivityIndicator(
                color: CColors.green73B66C,
                radius: 20,
                animating: true,
              ),
      ),
    );
  }
}

我们可以在这里使用onButtonClick

  TextButton.icon(
      onPressed: (() {
        LoadingDialog.show(context);
        Future.delayed(const Duration(seconds: 5), () {
          LoadingDialog.hide(context);
        });
      }),
      icon: Icon(Icons.phone),
      label: Text("Show Loader"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM