flutter - 带有缓存网络图像的 SliverPersistentHeader 会导致每次滚动页面时重新加载图像
问题描述
我正在尝试使用网络图像实现 SliverPersistentHeader。我有一个扩展 SliverPersistentHeaderDelegate 的 _PageHeader 类。现在的问题是,每当我尝试滚动页面时,图像都会不断重新加载。是否可以只构建一次小部件?谢谢。
GIF图片 链接在这里
const _maxHeaderExtent = 350.0;
const _minHeaderExtent = 100.0;
class _PageHeader extends SliverPersistentHeaderDelegate {
@override
Widget build(
BuildContext context, double shrinkOffset, bool overlapsContent) {
return OptimizedCacheImage(
imageUrl: 'https://i.pinimg.com/474x/69/77/b7/6977b70a129ec184527433bbdf9fe457.jpg',
imageBuilder: (context, imageProvider) => Container(
decoration: BoxDecoration(
image: DecorationImage(
image: imageProvider,
fit: BoxFit.fill,
),
),
),
placeholder: (context, url) => Center(
child: Container(
height: 20,
width: 20,
child: CircularProgressIndicatorWidget(),
),
),
errorWidget: (context, url, error) => Icon(Icons.error),
);
}
@override
double get maxExtent => _maxHeaderExtent;
@override
double get minExtent => _minHeaderExtent;
@override
bool shouldRebuild(covariant SliverPersistentHeaderDelegate oldDelegate) =>
false;
}
解决方案
推荐阅读
- c++ - C++ - 使用指针调用另一个类的成员函数
- reactjs - 按钮反应 js 不起作用,但它是好的代码
- serialization - 为什么进程之间不能直接使用对象
- autodesk-forge - BIM 360 链接问题
- flutter - 小部件测试不会触发 DropdownButton onChanged
- javascript - 反应原生拉刷新不起作用
- gradle - 使用 BasicAuthentication 的 Maven 存储库的身份验证失败的快速失败 Gradle
- react-native - 可以在前端使用 Firebase Auth SDK 进行移动应用身份验证吗?
- python - 如何处理消息框上的“删除窗口”协议-Python tkinter
- windows-10 - Windows 10 中基于 WPA2 企业证书的日志记录问题