根据最小尺寸包裹小部件,然后拉伸它们以填充可用宽度

Dav*_*der 7 flutter flutter-layout

Wrap不能包含Expanded小部件,因此是否有另一种方法可以使其子级根据其所需的最小宽度进行布局,然后使它们spaceBetween仅使用相对于指定的拉伸来填充空间spacing?

|---item---| |--item--|
|--------item---------|
Run Code Online (Sandbox Code Playgroud)

而不是

|-item-|       |-item-|
|-item-|            
Run Code Online (Sandbox Code Playgroud)

Tay*_*yan -2

有一个名为seped_row的包。它就是为此而设计的。

您所要做的就是:

  • 在其参数中提供分隔符小部件separatorBuilder(例如填充)。

  • 将每个子项包装在一个Expanded小部件中。

    SeparatedRow(
      separatorBuilder: (context, index) => Divider(),
      children: <Widget>[
        Expanded(
          child: Text("Item 1"),
        ),
        Expanded(
          child: Text("Item 2"),
        ),
      ],
    )
    
    Run Code Online (Sandbox Code Playgroud)

您还可以将其includeOuterSeparators参数设置为true在开头和结尾添加分隔符。

  • 不过,这似乎没有提供包装功能 (3认同)