dart Flutter:根据网络图像的长宽比调整容器大小

t1rydlwq  于 7个月前  发布在  Flutter
关注(0)|答案(1)|浏览(91)

我的代码

1.有一个容器。
1.从网络下载Image
1.将图像拟合为BoxFit.fitWidth
我想做的是
将容器的长宽比更改为下载的图像(宽度保持不变。宽度保持不变,因为它们需要对齐。)

当前代码

...
...
Container(
  padding: EdgeInsetsDirectional.only(
    end: 10,
    // top: 10.h - scale * 25,
    bottom: widget.marginBottom,
  ),
  child: Container(
    clipBehavior: Clip.antiAlias,
    decoration: BoxDecoration(
      borderRadius: BorderRadius.circular(8),
      color: widget.color,
    ),
    child: Stack(
      children: [
        Image.network(
          widget.listImages[index],
          fit: widget.boxFit,
          width: MediaQuery.of(context).size.width,
          height: MediaQuery.of(context).size.height,
          errorBuilder: (context, error, stackTrace) {
            return Image.asset(
              'images/place_holder.jpg',
              fit: BoxFit.fitWidth,
            );
          },
        ),
      ],
    ),
  ),
);

字符串

4nkexdtk

4nkexdtk1#

外部容器的约束使图片的宽度和高度与您的设置不同。这涉及到Flutter布局原则,请参阅https://docs.flutter.dev/ui/layout/constraints
UnconstrainedBox类,一个对其子控件不施加任何约束的小部件,允许它以“自然”大小呈现。

UnconstrainedBox(
        child: Image.network(
          widget.listImages[index],
          width: 100,
          height: 300,
          fit: BoxFit.fill,
          errorBuilder: (context, error, stackTrace) {
            return Image.asset(
              'images/place_holder.jpg',
              fit: BoxFit.fitWidth,
            );
          },
        ),
      ),

字符串

相关问题