一,概述
RefreshIndicator是Flutter基于Material设计语言内置的控件,集合了下拉手势、加载指示器和刷新操作一体,可玩性比FutureBuilder差了一大截,不过大家也用过Material设计语言的其他控件,视觉效果也不赖的。
要实现拉刷新列表的功能仅仅依靠RefreshIndicator还不行,我们还需要ScrollController对ListView的移动偏移量进行监控。
二,两个重要的组件 RefreshIndicator
构造函数
/** * 下拉刷新组件 *const RefreshIndicator ({ Key key, @required this.child, this.displacement: 40.0, //触发下拉刷新的距离 @required this.onRefresh, //下拉回调方法,方法需要有async和await关键字,没有await,刷新图标立马消失,没有async,刷新图标不会消失 this.color, //进度指示器前景色 默认为系统主题色 this.backgroundColor, //背景色 this.notificationPredicate: defaultScrollNotificationPredicate, }) */
注意: RefreshIndicator的子元素必须是一个可以滚动的控件
如果你遇到不符合条件的控件,请将其用可以滚动的控件(如ListView、PageView等)包装一下
onRefresh的回调函数必须是Future类型ScrollController
构造函数
ScrollController({ double initialScrollOffset = 0.0, //初始滚动位置 this.keepSc