Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 加载后淡入网络图像会调整大小_Flutter_Dart_Flutter Layout_Flutter Image_Flutter Layoutbuilder - Fatal编程技术网

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();
  }