加载后渐入网络图像的大小调整

问题描述

这是我问题的视频 https://www.youtube.com/watch?v=wskX_bZNExw

如果您注意到网络映像加载之后,它会调整大小(通常会删除空白空间)。

  Widget _buildPostThumbnail(List<SubmissionPreview> thumbnails) {
    if (thumbnails != null && thumbnails.isNotEmpty) {
      var image = thumbnails.first.resolutions.last;
      return Container(
        width: double.maxFinite,child: FadeInImage.memoryNetwork(
          placeholder: kTransparentimage,image: image.url.toString(),),);
    }
    return Container();
  }

我怎么才能让图像从屏幕上弹出的那一刻起就占据最小的空间,而不是在有时间调整大小之后?

谢谢。

解决方法

您可以将周围height的{​​{1}}设置为固定值,并在Container中使用fit: BoxFit.fitheight

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

我想通了,您想将高度除以宽度,然后乘以容器的宽度(在这种情况下,我希望照片的边缘与手机对齐)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...