Flutter 有没有可能创建一个交错的布局,其中已知长宽比的子对象被赋予其最大尺寸?

Flutter 有没有可能创建一个交错的布局,其中已知长宽比的子对象被赋予其最大尺寸?,flutter,flutter-layout,Flutter,Flutter Layout,是否可以使用行和列按所附图像的方式布置小部件?紫色框的比例为3:4(它们是AspectRatiowidgets),但它们的大小应该最大化 起初,我认为这将是一场有两个孩子的基本争吵。第一个子元素是一个AspectRatio,其中包含可视小部件。第二个子项是一个包含两个子项的列:另外两个子项AspectRatios 但是颤振总是伴随着各种各样的错误爆发,比如无法计算尺寸。基于,我想我明白为什么。我倾向于“这是不可能的”,但也许我错过了什么。我尝试了各种组合的Expanded,mainAxisSiz

是否可以使用行和列按所附图像的方式布置小部件?紫色框的比例为3:4(它们是
AspectRatio
widgets),但它们的大小应该最大化

起初,我认为这将是一场有两个孩子的基本争吵。第一个子元素是一个
AspectRatio
,其中包含可视小部件。第二个子项是一个包含两个子项的列:另外两个子项
AspectRatio
s

但是颤振总是伴随着各种各样的错误爆发,比如无法计算尺寸。基于,我想我明白为什么。我倾向于“这是不可能的”,但也许我错过了什么。我尝试了各种组合的
Expanded
mainAxisSize.min
,等等

我总是可以使用LayoutBuilder来获得屏幕宽度,并使用大小框来布局元素,但最好让布局自行调整


通过使用Expanded包装AspectRatio,可以实现布局。下面是相同的代码

Container(
  width: MediaQuery.of(context).size.width,
  child: Row(
    children: [
      Expanded(
        flex: 2,
        child: AspectRatio(
          aspectRatio: 3 / 4,
          child: Container(color: Colors.red),
        ),
      ),
      Column(
        children: [
          Expanded(
            child: AspectRatio(
              aspectRatio: 3 / 4,
              child: Container(color: Colors.green),
            ),
          ),
          Expanded(
            child: AspectRatio(
              aspectRatio: 3 / 4,
              child: Container(color: Colors.blue),
            ),
          ),
        ],
      ),
    ],
  ),
);

您也可以在上查看。

imho,是学习
CustomMultiChildLayout
;-)的好时机<代码>脚手架,
导航工具栏
和其他几个复杂的布局在内部使用它-也许可以使用现有的块来实现这一点,但是…谢谢,我会花一些时间研究它。我认为这并不能完全解决它。随着可用空间的调整,红色容器变小。在我试图实现的布局中,它应该填充整个可用的水平空间,以保持所有容器的纵横比。