Flutter 我如何在两个极端的空间中,一个在中间,一个在两个空间中?
将小部件排成一行,如下所示:两个在最外侧边缘外,一个居中 [W1------W2------W3] 我需要W2像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后填充剩余的
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中进入第二个小部件有效。现在已关闭。通过这些解决方案,这成为一个稍微不同的问题,感谢您的帮助。