一尘不染

根据颤动中的动态内容调整GridView子高度

flutter

如何在扑朔迷离中实现这种复杂的观点?

我正在尝试GridView使用n列实现a ,并且子级应该具有一定的长宽比(例如1.3),但是子级的高度应该是(Android术语中的包装内容)。

我之所以陷入困境,是因为我很了解GridView的childAspectRatio:1.3(默认值:1)总是以相同的长宽比而不是动态内容来布局子级。

注意: 儿童应根据图像的高度扩展其高度

用例: 我正在尝试实现如下所示的视图,在该视图中包装图像height = wrap content,以防高度拉伸的图像看起来不错并形成StaggeredGridView类似的结构。

样本图片


阅读 256

收藏
2020-08-13

共1个答案

一尘不染

编辑:StaggeredTile.fit在0.2.0中添加了构造函数。有了它,您应该能够构建您的应用程序;-)。

动态磁贴大小

第一条评论:
到目前为止,使用StaggeredGridView,布局和子级渲染完全独立。因此,正如@rmtmckenzie所说,您将必须获取图像大小才能创建图块。然后,您可以StaggeredTile.countmainAxisCellCount参数使用带有双精度值的构造函数:(new StaggeredTile.count(x, x*h/w)其中h是图像的高度w及其宽度。这样,具有与图像相同的纵横比的图块。

您想要完成的工作将需要更多的工作,因为您想在图像下方留出一些信息。为此,我认为您必须先创建图块的实际宽度,然后再使用StaggeredTile.extent构造函数。

我知道这不是理想的选择,目前我正在研究一种新的方式来创建布局。我希望这将有助于构建像您这样的方案。

2020-08-13