在Flutter中,如何平衡Wrap widget的children?

In Flutter, how to balance the children of the Wrap widget?

在 Flutter 中,Wrap widget 尝试将 child 放置在主轴上与前一个 child 相邻的位置,如果没有足够的 space 来适应 child,它创建一个新的 运行 与交叉轴中现有的 children 相邻。

因此,例如,如果 3 children 适合水平 运行,而我们有 4 children,它将有 2 运行s:第一个3children,第二个1child.

相反,在定义了那个数量的运行之后,我希望它"balance"放置这些children,这样它就占据了相同数量的运行s,但 最小宽度

在上面的例子中,这意味着在第一个 运行 中有 2 children,在第二个中有 2 children。但是,当然,这应该适用于任意宽度的任意数量的 children。

我该怎么做?

按照 Rémi 的建议,我用自定义规则重新创建了 Wrap 小部件:https://pub.dev/packages/assorted_layout_widgets 中的 WrapSuper 小部件解决了这个问题。

它并不能完全保证最小的宽度,而是保证最小的粗糙度,这更准确地说是我想要的。