Flutter 有没有可能创建一个交错的布局,其中已知长宽比的子对象被赋予其最大尺寸?
是否可以使用行和列按所附图像的方式布置小部件?紫色框的比例为3:4(它们是Flutter 有没有可能创建一个交错的布局,其中已知长宽比的子对象被赋予其最大尺寸?,flutter,flutter-layout,Flutter,Flutter Layout,是否可以使用行和列按所附图像的方式布置小部件?紫色框的比例为3:4(它们是AspectRatiowidgets),但它们的大小应该最大化 起初,我认为这将是一场有两个孩子的基本争吵。第一个子元素是一个AspectRatio,其中包含可视小部件。第二个子项是一个包含两个子项的列:另外两个子项AspectRatios 但是颤振总是伴随着各种各样的错误爆发,比如无法计算尺寸。基于,我想我明白为什么。我倾向于“这是不可能的”,但也许我错过了什么。我尝试了各种组合的Expanded,mainAxisSiz
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
;-)的好时机<代码>脚手架,导航工具栏
和其他几个复杂的布局在内部使用它-也许可以使用现有的块来实现这一点,但是…谢谢,我会花一些时间研究它。我认为这并不能完全解决它。随着可用空间的调整,红色容器变小。在我试图实现的布局中,它应该填充整个可用的水平空间,以保持所有容器的纵横比。