PqPreLoader constructor
PqPreLoader(
- ScrollController scrollController, {
- double preloadDistanceLimit = DEFAULT_PRELOAD_DISTANCE_LIMIT,
- required LoadMoreListener loadMoreListener,
构造方法,需要传入滚动控制器ScrollController scrollController
和加载更多loadMoreListener的回调,
以及一个有预设值的距离preloadDistanceLimit
Implementation
PqPreLoader(
this.scrollController, {
this.preloadDistanceLimit = DEFAULT_PRELOAD_DISTANCE_LIMIT,
required this.loadMoreListener,
}) {
scrollController.addListener(() {
if (!scrollController.hasClients) return;
double after = scrollController.position.extentAfter;
double pixels = scrollController.position.pixels;
/// 是向下滑动,且剩余可滑动距离低于设置的限制值
if (pixels > 0 &&
pixels > _lastScrollPixels &&
after < preloadDistanceLimit) {
loadMoreListener();
}
_lastScrollPixels = pixels;
});
}