当图像显示在屏幕上时,加载图像。当图像容器没有在显示区域从网络加载图像时,不要加载。
发布于 2019-03-03 16:46:02
这个问题有点令人困惑,但我将把它解释为,只有当图像在屏幕上抖动时才会加载。当它不在屏幕上时,不要加载。这通常被称为延迟加载。
在flutter中,可以使用多个库来实现这一点:
1.
将lazy_load_scrollview依赖项添加到pubspec.yaml中
dependencies:
lazy_load_scrollview: 0.0.1在Dart代码中,可以使用import package:lazy_load_scrollview/lazy_load_scrollview.dart将ListView或GridView封装在LazyLoadScrollView中。确保添加了一个endOfPageListener,它将在到达列表底部时接收调用。
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: LazyLoadScrollView(
endOfPageListener: () => loadMore(),
child: ListView.builder(
itemCount: data.length,
itemBuilder: (context, position) {
return Text("Position $position");
},
),
),
);
}2
另一方面,您可以使用flutter_pagewise,它在默认情况下也实现了这一点。颤振拍支持ListView、GridView、SliverListView和SliverGridView,我认为GridView可能对您的图像有用。
为了这个,
将此添加到依赖项中
dependencies:
flutter_pagewise:然后把它导入你的页面,
import 'package:flutter_pagewise/flutter_pagewise.dart';然后你的列表视图就会这样工作:
PagewiseListView(
pageSize: 10,
padding: EdgeInsets.all(15.0),
itemBuilder: (context, entry, index) {
// return a widget that displays the entry's data
},
pageFuture: (pageIndex) {
// return a Future that resolves to a list containing the page's data
}
);我希望这能帮上忙!
https://stackoverflow.com/questions/54970675
复制相似问题