listview 外面包裹一层 RefreshIndicator组件
属性:displacement 下拉刷新的距离
onRefresh, //下拉回调方法,
方法需要有async和await关键字,没有await,刷新图标立马消失,
没有async,刷新图标不会消失
body: RefreshIndicator(
//下拉刷新回调
onRefresh: onRefresh,
child: ListView.builder(
///保持ListView任何情况都能滚动,解决在RefreshIndicator的兼容问题。
physics: const AlwaysScrollableScrollPhysics(),
itemCount: list.length+1,
//滑动监听控制器
controller: _ScrollController,
itemBuilder: (context,index){
if (index == list.length) {
return new Container(
margin: EdgeInsets.all(10),
child: Align(
child: CircularProgressIndicator(),
),
);
}
return ListTile(
title: Text(list[index]),
);
}),
),
);
【flutter listview上拉刷新下拉加载(RefreshIndicator)】上拉加载:
设置滑动监听
判断是否滑动到底部,触发加载更多
//控制器
_ScrollController=ScrollController();
//滑动监听
_ScrollController.addListener((){
///判断当前滑动位置是不是到达底部,触发加载更多回调
if(_ScrollController.position.pixels==_ScrollController.position.maxScrollExtent){
//if(Fluttertoast!=null){
//Fluttertoast.showToast(msg: "加载更多数据", toastLength: Toast.LENGTH_LONG);
//}
loadMore();
}
});
推荐阅读
- 回顾 Flutter 2021 重要时刻,奉上虎年红包封面喜迎新年!
- Flutter实现左侧边栏导航
- 如何在 Flutter 创建一个后台任务
- Flutter Convex Bottom 底部导航
- Flutter动态化框架Thresh
- 基于 Riverpod 的 Flutter 状态管理
- Flutter 2022 产品路线图发布
- Flutter 插件库
- Windows Running “flutter pub get“ in XXX卡死
- Flutter之下拉刷新,上拉加载更多