项目作者: frasker

项目描述 :
paging for flutter listview
高级语言: Dart
项目地址: git://github.com/frasker/paging.git
创建时间: 2019-07-11T03:11:56Z
项目社区:https://github.com/frasker/paging

开源协议:Other

下载


paging

paging 是针对flutter提供的分页加载库,思想和实现源自android jetpack 的架构组件Paging

如何使用

具体参见demo,和android paging不一样的地方在于针对flutter提供了PageBuilder控件

  1. // 创建ValueNotifier<PageList>
  2. MyFactory factory = MyFactory();
  3. var config = Config(pageSize: 5, enablePlaceholders: false, initialLoadSizeHint: 10);
  4. mPageList = LivePagedListBuilder<int, Bean>(config, factory).create();
  5. // 使用PageBuilder 包裹实现Listview
  6. child: PageBuilder<Bean>(
  7. pageList: mPageList,
  8. builder: (context, pagedListDiffer, child) {
  9. return ListView.separated(
  10. physics: AlwaysScrollableScrollPhysics(),
  11. controller: _scrollController,
  12. itemBuilder: (context, position) {
  13. var bean = pagedListDiffer.getItem(position);
  14. return Text(
  15. "当前位置$position count ${pagedListDiffer.getItemCount()} ${bean?.toString()}"",
  16. );
  17. },
  18. separatorBuilder: (context, position) {
  19. return Divider();
  20. },
  21. itemCount: pagedListDiffer.getItemCount());
  22. },
  23. )

如何依赖

请依赖github

  1. paging:
  2. git:
  3. url: https://github.com/frasker/paging
  4. ref: 1.0.0-alpha4