v2.1.0loadmore
ListView 滾動到底部時,可以載入更多資料。幫助開發者實作分頁載入資料。
226喜歡 1萬近 30 天下載150Pub 分數
AndroidiOSWebmacOSWindowsLinux
flutter 加載更多範例
{"sdk":"flutter"}{"sdk":"flutter"}以下為英文專案原文快照,最新內容請造訪 GitHub。
A loadMore library
Support ListView and SliverList
img
show https://github.com/CaiJingLong/flutter_listview_loadmore
in pubspec.yaml
dependencies:
loadmore: ^2.0.1
import in dartfile:
import 'package:loadmore/loadmore.dart';
use in build:
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: Container(
child: LoadMore(
isFinish: count >= 60,
onLoadMore: _loadMore,
child: ListView.builder(
itemBuilder: (BuildContext context, int index) {
return Container(
child: Text(list[index].toString()),
height: 40.0,
alignment: Alignment.center,
);
},
itemCount: count,
),
),
),
);
}
Future<bool> _loadMore() async {
print("onLoadMore");
await Future.delayed(Duration(seconds: 0, milliseconds: 100));
load();
return true;
}
properties use:
child: Widget ,required , support ListView ListView.builder ListView.separated, other is not support.
onLoadMore:required A Function , `typedef Future<bool> FutureCallBack();` , reture true is success and status delay,return false or null ,then the status will change to fail.
isFinish: bool, optional, if true, then the status will change to finish ,default is false
delegate: LoadMoreDelegate,optional, see the LoadMoreDelegate class,default is DefaultLoadMoreDelegate
textBuilder: optional, the result will show in loading view ,if you use default delegate. default is DefaultLoadMoreText.chinese,
whenEmptyLoad: bool ,optional, default is true, when [whenEmptyLoad] is true, and when listView children length is 0,or the itemCount is 0,not build loadMoreWidget.
abstract class LoadMoreDelegate {
const LoadMoreDelegate();
double widgetHeight(LoadMoreStatus status) => _defaultLoadMoreHeight; // the loadMore height. default is 80.0
Duration loadMoreDelay() => Duration(milliseconds: _loadMoreDelay);// When widget is created, the refresh delay time is triggered.
Widget buildChild(LoadMoreStatus status); // build your widget in the loadmore widget.
}
homePage: https://github.com/CaiJingLong/flutter_listview_loadmore emailto me : cjl_spy@163.com
APACHE 2.0