Flutter 加载后淡入网络图像会调整大小
这是我这期的视频 如果您注意到,在加载网络映像后,它会调整大小(通常会删除空白)Flutter 加载后淡入网络图像会调整大小,flutter,dart,flutter-layout,flutter-image,flutter-layoutbuilder,Flutter,Dart,Flutter Layout,Flutter Image,Flutter Layoutbuilder,这是我这期的视频 如果您注意到,在加载网络映像后,它会调整大小(通常会删除空白) Widget\u buildPostThumbnail(列出缩略图){ if(thumbnails!=null&&thumbnails.isNotEmpty){ var image=thumbnails.first.resolutions.last; 返回容器( 宽度:double.maxFinite, 子项:FadeInImage.memoryNetwork( 占位符:K透明图像, image:image.ur
Widget\u buildPostThumbnail(列出缩略图){
if(thumbnails!=null&&thumbnails.isNotEmpty){
var image=thumbnails.first.resolutions.last;
返回容器(
宽度:double.maxFinite,
子项:FadeInImage.memoryNetwork(
占位符:K透明图像,
image:image.url.toString(),
),
);
}
返回容器();
}
如何使图像在屏幕上弹出时只占用最小的空间,而不是在它有时间调整大小之后
谢谢。您可以将周围的
容器的高度设置为固定值,并在FadeInImage
小部件中使用fit:BoxFit.fitheight
\u buildPostThumbnail(列表缩略图){
Widget _buildPostThumbnail(List<SubmissionPreview> thumbnails) {
if (thumbnails != null && thumbnails.isNotEmpty) {
var image = thumbnails.first.resolutions.last;
return FadeInImage.memoryNetwork(
fadeInDuration: Duration(milliseconds: 200),
placeholder: kTransparentImage,
image: image.url.toString(),
width: double.maxFinite,
fit: BoxFit.fitWidth,
height: (image.height.toDouble() / image.width.toDouble()) * MediaQuery.of(context).size.width,
);
}
return Container();
}
if(thumbnails!=null&&thumbnails.isNotEmpty){
var image=thumbnails.first.resolutions.last;
返回FadeInImage.memoryNetwork(
fadeInDuration:持续时间(毫秒:200),
占位符:K透明图像,
image:image.url.toString(),
宽度:double.maxFinite,
适合:BoxFit.fitWidth,
高度:(image.height.toDouble()/image.width.toDouble())*MediaQuery.of(context.size.width,
);
}
返回容器();
}
我算出了,你想把高度除以宽度,然后再乘以容器的宽度(在这种情况下,我希望照片的边缘与手机对齐)。嗨,是的,设置高度肯定会解决这个问题。然而,有些图像在纵横比方面会完全被放大。关于保持正常图像高度有什么想法吗?Boxfit会确保您看到完整的图像。我不认为原始图像的大小和不调整大小将是可能的,在同一时间。
Widget _buildPostThumbnail(List<SubmissionPreview> thumbnails) {
if (thumbnails != null && thumbnails.isNotEmpty) {
var image = thumbnails.first.resolutions.last;
return FadeInImage.memoryNetwork(
fadeInDuration: Duration(milliseconds: 200),
placeholder: kTransparentImage,
image: image.url.toString(),
width: double.maxFinite,
fit: BoxFit.fitWidth,
height: (image.height.toDouble() / image.width.toDouble()) * MediaQuery.of(context).size.width,
);
}
return Container();
}