Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 我如何在两个极端的空间中,一个在中间,一个在两个空间中?_Flutter_Dart_Flutter Layout - Fatal编程技术网

Flutter 我如何在两个极端的空间中,一个在中间,一个在两个空间中?

Flutter 我如何在两个极端的空间中,一个在中间,一个在两个空间中?,flutter,dart,flutter-layout,Flutter,Dart,Flutter Layout,将小部件排成一行,如下所示:两个在最外侧边缘外,一个居中 [W1------W2------W3] 我需要W2像Spacer()一样工作 不幸的是,mainAxisAlignment:mainAxisAlignment.spaceEqualize/spaceBetween对3个小部件不起作用您可以将W2包装在扩展的 行( 儿童:[ Widget1(), 已展开(子项:Widget2()), Widget3(), ], ), 这会导致Widget2在绘制Widget1和Widget3后填充剩余的

将小部件排成一行,如下所示:两个在最外侧边缘外,一个居中

[W1------W2------W3]

我需要W2像
Spacer()
一样工作


不幸的是,
mainAxisAlignment:mainAxisAlignment.spaceEqualize/spaceBetween
对3个小部件不起作用

您可以将W2包装在扩展的

行(
儿童:[
Widget1(),
已展开(子项:Widget2()),
Widget3(),
],
),

这会导致
Widget2
在绘制
Widget1
Widget3
后填充剩余的空间(基本上将它们推到了极端)。

这很接近,当我将Widget2作为行居中(子项:[Text('w1')、展开(子项:居中(子项:Text))时它起作用('center')),文本('w3')]),这会产生另一个问题。我希望W2居中,而不考虑W1的大小/长度。它是三个文本小部件,我希望省去第一个小部件。您也可以将所有3个小部件包装在
Expanded
中,然后调整它们的
flex
参数。这样,它们将具有分数约束。使用flex和c将它们全部包装在Expanded中进入第二个小部件有效。现在已关闭。通过这些解决方案,这成为一个稍微不同的问题,感谢您的帮助。