【问题标题】:Flutter ListView Dynamic Height of Element Based on ContentFlutter ListView 元素基于内容的动态高度
【发布时间】:2020-10-21 07:31:26
【问题描述】:

我有一个带有列表视图的小部件。此列表视图包含 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,
            ),
      )

谁能告诉我怎么做?

感谢和亲切的问候,

坦克

更新: 为了显示我想要实现的目标,我添加了以下图像:

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

【问题讨论】:

    标签: flutter listview flutter-layout


    【解决方案1】:

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

    【讨论】:

    • 如果我删除“扩展”图像有一个“底部溢出”区域,我得到以下错误:════════ 渲染库捕获的异常══════ ════════════════════════════════════════════════堆栈在布局期间给定无限大小。
    【解决方案2】:

    你看过交错列表包吗?

    https://pub.dev/packages/flutter_staggered_grid_view#-readme-tab-

    它看起来就像你正在寻找的那样。

    【讨论】:

    • 感谢您的链接。看起来肯定很有趣。不幸的是,我以无法再测试的方式重组了我的应用程序。但会记住这一点。
    猜你喜欢
    • 2012-05-04
    • 2021-08-18
    • 2012-05-23
    • 2011-04-24
    • 2011-09-29
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多