Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果

今天要聊的内容是

Flutter 进度控件: ProgressIndicator 和 刷新控件 RefreshIndicator

首先 我们看下类的结构吧

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

可见,进度控件的结构很简单,仅仅两个分支而已,那么我们先来介绍外层的这两个

LinearProgressIndicator

结构见图

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

很简单,需要提一下的是
value

  • 他是设置当前进度的值,如果设置了,进度就停在设置的位置了,取值范围是0-1,1表示进度已经走完;
  • 如果没有设置这个value,那么这个进度控件上的进度条会一直往返刷新

下面再来看下CircleProgressIndicator

CircleProgressIndicator

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

基本同
LinearProgressIndicator类似,不同的是形状,这个是环形

我们来看下二者的示例~

首先定义背景颜色、进度颜色、创建两个进度控件

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

然后将两个控件排列在一起,展示在视图上

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

来看一下效果

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

下面加上value值

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

看下效果

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

好,两个简单的进度条咱们就看完了,下面,我们使用RefreshIndicator实现下拉刷新数据

RefreshIndicator

这个控件很像 Android 中的SwipeRefreshLayout
他可以嵌套 ListView 或者其他的控件,完成下拉刷新的效果。

我们先来看下效果图

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

好,我们开始看看逻辑

一、看下RefreshIndicator的结构

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》 常用属性

其中 最为重要的是 onRefresh属性
这个属性需要

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

设置一个返回值为 Future 类型的方法,即表示当刷新时 要处理的逻辑

二、定义onRefresh属性 需要的方法

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

这里,我们使用了

Future.delayed(时间,处理逻辑); 

来得到一个 Future

除了此方法,还可以使用

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

这些方法去返回
Future

需要注意还有 setState(){}函数,我们可以在可变的widget中可以使用 setstate(){} 函数,这个是 Flutter 系统定义好的,并不是我们自己创建的方法

三、返回视图

《Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果》

这样,即可实现上方效果图功能。

总结知识点

LinearProgressIndicator
CircularProgressIndicator
RefreshIndicator
onRefresh属性
setState方法
得到 Future 返回值的方法

Bingo,谢谢大家的关注~~

    原文作者:guaju
    原文地址: https://www.jianshu.com/p/a3144eb4a87b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞