a CupertinoSliverRefreshControl
like load more sliver
Features
- support
CustomerScrollView
- support autoload and preload(only if cacheExtent > 0)
- similar to
CupertinoSliverRefreshControl
useage
Demo
Usage
late ValueNotifier<int> _count;
Future<void> loadMore() async {
await Future.delayed(const Duration(seconds: 1));
_count.value = _count.value + 8;
}
CustomScrollView(slivers: [
ValueListenableBuilder(
valueListenable: _count,
builder: (c, value, _) {
return SliverList(
...
]));
}),
LoadMoreController(onLoad: loadMore),
]);
Additional information
CustomScrollView(
cacheExtent: 500,
slivers: [
LoadMoreController(
onLoad: loadMore,
autoLoad: true,
)
],
);
if the autoLoad
argument be true:
onLoad
will be called when viewport not filledonLoad
will be called when theLoadMoreController
reach thecacheExtent
of the viewport,cacheExtent
can be modified to control the preloading timing