代码拉取完成,页面将自动刷新
分布加载,实现数据与UI解耦。
Note: 这个项目还处于开发阶段. 欢迎Pull Requests.
首先, 添加 flutter_paging
,参加dependency in your pubspec.yaml file.
PagingView : 分页组件基础控件.
PagingListView : PagingView的子类,包裹了ListView.
KeyedDataSource
分页的核心,数据的获取由dataSource
完成。
Note: 不要忘记调用 dataSource.init()
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Paging ListView"),
),
body: RefreshIndicator(
onRefresh: widget.dataSource.refresh,
child: PagingListView<String>.builder(
itemBuilder: (context, index, item) {
return Card(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text("paging->$item"),
));
},
dataSource: widget.dataSource,
loadingIndicator: Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: CircularProgressIndicator(),
),
),
noMoreDataAvailableItem: Center(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text("no more data avaliable~"),
),
),
),
),
);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型