【问题标题】:How to Implement to show/hide separate progress indicator / loader for android and iOS in Flutter如何在 Flutter 中为 Android 和 iOS 实现显示/隐藏单独的进度指示器/加载器
【发布时间】:2022-12-14 20:46:30
【问题描述】:

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

【问题讨论】:

    标签: android ios flutter api dart


    【解决方案1】:

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

    这里 CircularProgressIndicator() 用于 android 用于 iOS 的 CupertinoActivityIndi​​cator()

    示例代码

    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"))
    

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-10-01
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多