将Flutter Row的子级拉伸到最大*自然*高度

艾米斯帕克
@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text(title),
    ),
    body: ListView(
      children: <Widget>[
        Row(
          mainAxisAlignment: MainAxisAlignment.end,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Container(
              alignment: AlignmentDirectional.center,
              color: Colors.red,
              child: Text('Lorem ipsum dolor sit amet'),
              width: 150,
            ),
            Container(
              color: Colors.blue,
              width: 4,
              height: 8,
            ),
            Container(
              width: 12,
            ),
            Container(
              color: Colors.blue,
              width: 4,
              height: 8,
            ),
            Container(
              width: 12,
            ),
          ],
        ),
        Row(
          mainAxisAlignment: MainAxisAlignment.end,
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Container(
              alignment: AlignmentDirectional.center,
              color: Colors.red,
              child: Text('Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet'),
              width: 150,
            ),
            Container(
              color: Colors.blue,
              width: 4,
              height: 8,
            ),
            Container(
              width: 12,
            ),
            Container(
              color: Colors.blue,
              width: 4,
              height: 8,
            ),
            Container(
              width: 12,
            ),
            Container(
              color: Colors.blue,
              width: 4,
              height: 8,
            ),
            Container(
              width: 12,
            ),
          ],
        ),
      ],
    ),
  );
}

蓝色的小容器在那里模拟列。为了完美匹配,我需要它们将自身拉伸到最左边的Container(带有Text标签)的高度。我尝试使用BoxConstraints实现此目的,但是由于高度无限,它们会导致渲染失败。设置一个固定的高度是不可行的,因为文本可能会改变。我可以设置最大高度。

有可能达到这种效果吗?

文件

您可以使用https://api.flutter.dev/flutter/widgets/IntrinsicHeight-class.html

并设置交叉对齐以在行中拉伸

ListView(
        children: <Widget>[
          IntrinsicHeight(// <---------- this one here
            child: Row(
              crossAxisAlignment: CrossAxisAlignment.stretch, // <---------- set to stretch
              mainAxisAlignment: MainAxisAlignment.end,
              mainAxisSize: MainAxisSize.min,
              children: <Widget>[
                Container(
                  alignment: AlignmentDirectional.center,
                  color: Colors.red,
                  child: Text('Lorem ipsum dolor sit amet'),
                  width: 150,
                ),
                Container(
                  color: Colors.blue,
                  width: 4,
                  height: 8,
                ),
                Container(
                  width: 12,
                ),
                Container(
                  color: Colors.blue,
                  width: 4,
                  height: 8,
                ),
                Container(
                  width: 12,
                ),
              ],
            ),
          ),// end here
          Row(
            mainAxisAlignment: MainAxisAlignment.end,
            mainAxisSize: MainAxisSize.min,
            children: <Widget>[
              Container(
                alignment: AlignmentDirectional.center,
                color: Colors.red,
                child: Text('Lorem ipsum dolor sit amet, Lorem ipsum dolor sit amet'),
                width: 150,
              ),
              Container(
                color: Colors.blue,
                width: 4,
                height: 8,
              ),
              Container(
                width: 12,
              ),
              Container(
                color: Colors.blue,
                width: 4,
                height: 8,
              ),
              Container(
                width: 12,
              ),
              Container(
                color: Colors.blue,
                width: 4,
                height: 8,
              ),
              Container(
                width: 12,
              ),
            ],
          ),
        ],
      )

我故意跳过第二个Row以显示差异

样品

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将TableRow的一个子级拉伸到最大可用高度?

来自分类Dev

将div拉伸到父级的高度

来自分类Dev

将svg附加并拉伸到父级

来自分类Dev

如何将div拉伸到父级li的大小

来自分类Dev

如何将JButton拉伸到JPanel的整个高度

来自分类Dev

将DIV内的DIV拉伸到100%的高度?

来自分类Dev

如何将父元素的高度拉伸到包含图像

来自分类Dev

将子菜单拉伸到父菜单大小

来自分类Dev

将数据从父级传递到子级StatefulWidget Flutter

来自分类Dev

如何将konvaJS中的文本值拉伸到一定的宽度和高度?

来自分类Dev

如何在不使用flexbox的情况下将“ div”拉伸到父母的整个高度?

来自分类Dev

在没有JavaScript的情况下将绝对定位的div拉伸到文档高度的100%

来自分类Dev

如何使WPF ListView处于水平状态,并且将包含的图像拉伸到合适的高度?

来自分类Dev

如何停止md卡将图像拉伸到整个垂直高度?

来自分类Dev

如何将容器垂直拉伸到最大屏幕?

来自分类Dev

如何结合高度和最小高度将div始终拉伸到底部并保持背景可见

来自分类Dev

将 TabItem 拉伸到 TabControl 宽度

来自分类Dev

将容器高度设置为等于Flutter中的宽度

来自分类Dev

CSS拉伸到100%高度

来自分类Dev

如何在flutter中动态将子级添加到列中

来自分类Dev

使scrollviewer拉伸到最大宽度

来自分类Dev

Row的子级不能包含任何Null值Flutter错误

来自分类Dev

如何将图像拉伸到其父代的填充内?

来自分类Dev

将SVG路径文本拉伸到3D网格

来自分类Dev

如何将块的背景拉伸到屏幕的整个宽度?

来自分类Dev

显示:网格。如何将块拉伸到全宽

来自分类Dev

将div拉伸到固定宽度元素内的全宽

来自分类Dev

滚动后如何将DIV拉伸到页面底部

来自分类Dev

如何将像素图拉伸到窗口的边缘?

Related 相关文章

  1. 1

    如何将TableRow的一个子级拉伸到最大可用高度?

  2. 2

    将div拉伸到父级的高度

  3. 3

    将svg附加并拉伸到父级

  4. 4

    如何将div拉伸到父级li的大小

  5. 5

    如何将JButton拉伸到JPanel的整个高度

  6. 6

    将DIV内的DIV拉伸到100%的高度?

  7. 7

    如何将父元素的高度拉伸到包含图像

  8. 8

    将子菜单拉伸到父菜单大小

  9. 9

    将数据从父级传递到子级StatefulWidget Flutter

  10. 10

    如何将konvaJS中的文本值拉伸到一定的宽度和高度?

  11. 11

    如何在不使用flexbox的情况下将“ div”拉伸到父母的整个高度?

  12. 12

    在没有JavaScript的情况下将绝对定位的div拉伸到文档高度的100%

  13. 13

    如何使WPF ListView处于水平状态,并且将包含的图像拉伸到合适的高度?

  14. 14

    如何停止md卡将图像拉伸到整个垂直高度?

  15. 15

    如何将容器垂直拉伸到最大屏幕?

  16. 16

    如何结合高度和最小高度将div始终拉伸到底部并保持背景可见

  17. 17

    将 TabItem 拉伸到 TabControl 宽度

  18. 18

    将容器高度设置为等于Flutter中的宽度

  19. 19

    CSS拉伸到100%高度

  20. 20

    如何在flutter中动态将子级添加到列中

  21. 21

    使scrollviewer拉伸到最大宽度

  22. 22

    Row的子级不能包含任何Null值Flutter错误

  23. 23

    如何将图像拉伸到其父代的填充内?

  24. 24

    将SVG路径文本拉伸到3D网格

  25. 25

    如何将块的背景拉伸到屏幕的整个宽度?

  26. 26

    显示:网格。如何将块拉伸到全宽

  27. 27

    将div拉伸到固定宽度元素内的全宽

  28. 28

    滚动后如何将DIV拉伸到页面底部

  29. 29

    如何将像素图拉伸到窗口的边缘?

热门标签

归档