当图像出现在屏幕上时加载图像。如果图像容器不在显示区域中,则不会加载,也不会从网络中加载图像。
答案 0 :(得分:1)
这个问题有点令人困惑,但是我将其解释为您只希望在图像在屏幕上抖动时才加载图像。当不在屏幕上时不加载。这通常称为延迟加载。
在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
,它也默认实现。 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
}
);
希望对您有帮助!