flutter使用get依赖实现全局loading效果,弹窗loading状态

get dialog的官网文档:GetDialogRoute class - dialog_route library - Dart API

可以使用Get.dialog()方法来创建一个自定义的加载弹窗,get框架是支持自定义弹窗效果的,所以我们就使用这个方式来自定义一个弹窗效果,并且点击遮罩区域可以实现关闭,这个功能要先在组件里面创建一个loading.dart文件,然后代码如下:

import 'package:flutter/material.dart';
import 'package:get/get.dart';

class LoadingDialog {
  static show() {
    Get.dialog(
      GestureDetector(
        child: Container(
          color: Colors.black54,
          child: const Center(
            child: CircularProgressIndicator(
              valueColor: AlwaysStoppedAnimation<Color>(Colors.white),
            ),
          ),
        ),
        onTap: () {
          // 点击是否退出模态框
          Get.back();
        },
      ),
      barrierDismissible: false,
    );
  }

  static hide() {
    Get.back();
  }
}

然后在组件中使用,如果你想在路由跳转的时候,就展示loading效果,就可以在Get.toName()跳转后立马调用:

然后当页面数据加载完之后隐藏loading:

我这里使用了延时两秒来关闭弹窗,不然无法关闭:

  getGoods() async {
    var res = await userApi.getGoods();
    var goodsData = res['response_data']['data'];
    setState(() {
      goods = goodsData;
    });
    //
    Future.delayed(Duration(seconds: 2), () {
      print("退出加载...");
      // Get.back();
      LoadingDialog.hide();
    });
  }

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-18 23:12:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-18 23:12:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-18 23:12:02       82 阅读
  4. Python语言-面向对象

    2024-01-18 23:12:02       91 阅读

热门阅读

  1. Docker Swarm网络管理

    2024-01-18 23:12:02       49 阅读
  2. 阿里巴巴中国站获得1688商品详情 API

    2024-01-18 23:12:02       52 阅读
  3. Linux常用命令2

    2024-01-18 23:12:02       54 阅读
  4. golang学习-goroutine

    2024-01-18 23:12:02       51 阅读
  5. postgresql.conf 详解

    2024-01-18 23:12:02       60 阅读
  6. Midjourney

    2024-01-18 23:12:02       65 阅读
  7. Vue3封装可拖拽的弹窗

    2024-01-18 23:12:02       50 阅读
  8. [go] 抽象工厂模式

    2024-01-18 23:12:02       47 阅读
  9. QT基础篇(10)QT5网络与通信

    2024-01-18 23:12:02       55 阅读
  10. element plus自定义组件表单校验

    2024-01-18 23:12:02       61 阅读
  11. C# Math.Floor与Math.Round

    2024-01-18 23:12:02       55 阅读
  12. html中flex的使用

    2024-01-18 23:12:02       53 阅读
  13. C#: richTextBox 富文本编辑控件使用

    2024-01-18 23:12:02       59 阅读