在加载数据或者向后台发送请求后,需要有一个正在加载的过渡效果。可以用showDialog和插件flutter_spinkit解决。

最终效果图

抽出一个名为LoadingPage的class表达loading效果,如下:

import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';class LoadingPage {final BuildContext _context;LoadingPage(this._context);///打开loadingvoid show({Function onClosed}) {showDialog(context: _context,builder: (context) {return SpinKitFadingCircle(color: Colors.white);},).then((value) {onClosed(value);});}///关闭loadingvoid close() {Navigator.of(_context).pop();}
}

使用LoadingPage的实例:

import 'package:flutter/material.dart';
import './common/loading_page.dart';class Home extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('首页'),elevation: 0.0,),body: Column(children: <Widget>[RaisedButton(child: Text('打开Loading'),onPressed: () {LoadingPage loadingPage = LoadingPage(context);loadingPage.show();Future.delayed(Duration(seconds: 3),() {loadingPage.close();},);},),],),);}
}

Flutter loading相关推荐

  1. 自定义Flutter loading弹框

    先看效果图如下: 在Flutter中,万物皆widget.所以这所谓的弹框其实也是一个widget. 而现实弹框其实就是打开一个新的路由,只不过背景颜色设为透明色就行了. 布局代码 实现代码如下: c ...

  2. Flutter常用插件和对.yaml讲解

    目录 一.对Flutter项目中的pubspec.yaml 进行讲解: 二.Flutter 常用插件 1.时间选择器 2.toast 3.RxDart 类似RxJava 和RxSwift 4.本地存储 ...

  3. 【错误记录】Flutter 设备连接显示 Loading... ( 断网 | 删除 flutter/bin/cache/lockfile 文件 )

    文章目录 一. 报错信息 二. 解决方案 一. 报错信息 手机已经打开开发者模式 , USB 调试一打开 , 但是在 Androud Studio 中的设备一直显示 " Loading &q ...

  4. Flutter CircularProgressIndicator进度指示器/Loading

    一种材料设计循环进度指示器,它旋转表示应用程序正在忙. 可用于Loading显示,也可以用作进度显示 参数详解 属性 说明 value 进度值, 进度值在0到1.0之间. 如果为空显示动画,非空显示进 ...

  5. Flutter EasyLoading - 让全局Toast/Loading更简单

    ✨flutter_easyloading: 一个简单易用的Flutter插件,包含23种loading动画效果.进度条展示.Toast展示.纯Flutter端实现,支持iOS.Android. ✨开源 ...

  6. Flutter之Loading框

    Flutter之Loading框 创建一个loading框 class LoadingDialog extends Dialog {@overrideWidget build(BuildContext ...

  7. Flutter网络请求关闭Loading对话框

    使用场景 在使用Flutter中,无论是异步任务执行成功与否,都要进行网络请求前的对话框加载,在请求结束后进行对话框的关闭. 面对这种场景,有两种方法, 一种是在then或catch中关闭一下对话框, ...

  8. Flutter自定义加载中的Loading

    一.定义 class YmDialog extends Dialog {final String title;const YmDialog(this.title, {Key? key}) : supe ...

  9. Flutter学习之Dart语法特性

    一.前言 第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多.用Flutter框架写过App项目的开发者都知道,Flutter是一个使 ...

最新文章

  1. gitlab的日常使用
  2. win7如何将计算机移至桌面,如何将win7电脑桌面的文件转移到其他盘中?
  3. ES6高级技巧(五)
  4. Java JDBC Statement
  5. 有个做微商的兄弟,他是卖品牌运动鞋的,最近很苦恼
  6. 5.7和5.6的mysql_mysql5.6与5.7版本的区别
  7. 如何自学python知乎-你是如何自学 Python 的?
  8. php UTF8 转字节数组,后使用 MD5 计算摘要
  9. 快速制作index.html,介绍一个h5快速制作平台鲁班H5
  10. 阿里P9技术:我来聊聊百万年薪
  11. [PMP] 什么是从众效应
  12. html查看器缩字数,在线字数统计工具-统计字符字节汉字数字标点符号-计算word文章字数-使用帮助-字的区别...
  13. keil出现stdin(‘-’)combined with other files
  14. OpenWrt mesh组网设置
  15. 分布式系统相关书籍pdf免费下载
  16. 公司注册涉及前置审批和后置审批的经营范围有哪些(2019年上海最新版)
  17. 中国原盐产业发展现状分析,原盐主要应用于化工行业「图」
  18. 云服务器CPU Intel Xeon Platinum 8163(Skylake)处理器性能评测
  19. Excel VBA密码破解工具(VBA实现)
  20. MySQL正确配置my.ini的event_scheduler = ON

热门文章

  1. Python常用库1:collections,容器数据类型
  2. java heap_数据结构之Heap (Java)
  3. Linux高级命令10:远程登录、远程拷贝命令
  4. 微信小程序选择日期范围
  5. 2021年年终总结---突破自我,轻装上阵,再出发
  6. 不用重启修改Linux主机名
  7. linux 按字符串分割文件 sed awk
  8. tar命令打包分割文件
  9. 企业ERP项目实施,遇见问题与心得分享
  10. use traceur in ES6