首页 > 解决方案 > Flutter ListView 元素基于内容的动态高度

问题描述

我有一个带有列表视图的小部件。此列表视图包含 3 个项目:

  1. 文本域
  2. 图像选择器
  3. 另一个文本字段

当我创建列表视图时,两个文本字段都有一个定义的高度。对于图像选择器,如果仅显示选择图像的按钮或图像已被选择,则高度应取决于大小写。在这种情况下,我希望图像适合宽度。到目前为止,我只能为正在工作的高度设置一些固定尺寸。但我喜欢根据所选图像动态选择这个。

图像选择器的返回元素:

            Expanded(
              child: Stack(
                children: <Widget>[
                  Center(
                    child:                Image.file(_image),
                  ),
                  Stack(
                    children: fireStackItems,
                  )
                ],
              )
            )

显示图像的列表视图元素以及我不希望具有固定高度的位置(删除它会导致无限高度错误):

      SizedBox(
        height: MediaQuery.of(context).size.height * 0.7,
        child: new MyImagePicker(
              myImagePickerController: myImagePickerController,
            ),
      )

谁能告诉我该怎么做?

谢谢和亲切的问候,

坦克

更新:为了显示我想要实现的目标,我添加了以下图像: 在此处输入图像描述

因此,在单击按钮后,我想显示应该填充列表视图宽度的图像。

标签: flutterlistviewflutter-layout

解决方案


问题似乎是您正在使用 Expanded 小部件,它试图尽可能大。如果您删除 Expanded 小部件并将所有子项向上移动,您应该能够根据需要设置图像的宽度,并且高度将相应地缩放。


推荐阅读