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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JerryWu145/article/details/87866104

今天要聊的内容是

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

首先 我们看下类的结构吧

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

LinearProgressIndicator

结构见图


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

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

下面再来看下CircleProgressIndicator

CircleProgressIndicator


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

我们来看下二者的示例~

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

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

来看一下效果

下面加上value值


看下效果

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

RefreshIndicator

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

我们先来看下效果图

好,我们开始看看逻辑

一、看下RefreshIndicator的结构

常用属性

常用属性

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

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

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

这里,我们使用了

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

来得到一个 Future

除了此方法,还可以使用


这些方法去返回Future

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

三、返回视图

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

总结知识点

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

Bingo,谢谢大家的关注~~

猜你喜欢

转载自blog.csdn.net/JerryWu145/article/details/87866104