flutter GridView: support auto size and colspan

sycxhyv7  于 4个月前  发布在  Flutter
关注(0)|答案(2)|浏览(50)

使用案例

GridView的所有单元格具有相同的尺寸(宽度x高度)。这对于某些使用场景并不适用。例如,
用于显示员工信息:

Name:             John Tigger
     ------------------------------------------------------
     Address:         123 Hello Street
                             New City, New State 123456
                             New Country
     ------------------------------------------------------
     Show a map for the address (colspan: 2)
     ------------------------------------------------------
     Manager:          Mike Tigger
     ------------------------------------------------------
     Performance:     9/10
     ------------------------------------------------------

1). 属性名称列所占空间小于值列。因此,单元格宽度应为自动。
2). 所有单元格高度都需要自动。自动:适应内容。
3). Map占据整行(colspan: 2)。
在html中,可以通过以下css实现:

.grid {
    display: grid;
    grid-template-columns: auto auto;
}

.map-cell {
   grid-column-end: span 2;
}

建议

为GridView添加属性"cellSize",并添加一个支持colspan属性的新类GridCell。例如,

GridView.count(
      crossAxisCount: 2,
      cellSize: auto,
      children: [
           Widget1, Widget2
           GridCell(colspan: 2, child: widget),
      ],
    );
nsc4cvqm

nsc4cvqm1#

Table() 通过使用 IntrinsicColumnWidth() 支持您想要的列宽。不过没有 ColSpan ...

我想也许新的 #21594 包可以在 TableView() 中拥有您所有的功能?

8e2ybdfx

8e2ybdfx2#

我认为也许新的 https://pub.dev/packages/two_dimensional_scrollables 包可以在 TableView() 中包含所有您的功能?
这听起来像是 @moffatman 的包的建议。
我将保持这个问题作为建议开放。

相关问题