1、使用第三方包flutter_refresh
2、在有状态控件里面导入
import 'package:flutter_refresh/flutter_refresh.dart';
3、定义私有变量
int _itemCount;
4、自定义Wiget
Widget getRefreshList() {
return new SafeArea(
child: new Refresh(
onFooterRefresh: onFooterRefresh,
onHeaderRefresh: onHeaderRefresh,
child: new ListView.builder(
itemBuilder: (context, index) {
return new Padding(
key: new Key(index.toString()),
padding: new EdgeInsets.all(10.0),
child: new Text(
"item:" + (index + 1).toString(),
style: new TextStyle(fontSize: 14.0),
),
);
},
itemCount: _itemCount,
),
));
}
5、使用Future模拟延迟加载
//下拉
Future<Null> onFooterRefresh() {
return new Future.delayed(new Duration(seconds: 2), () {
setState(() {
_itemCount += 10;
});
});
}
//下拉
Future<Null> onHeaderRefresh() {
return new Future.delayed(new Duration(seconds: 2), () {
setState(() {
_itemCount = 10;
});
});
}