如何在扑朔迷离中实现这种复杂的观点?
我正在尝试GridView使用n列实现a ,并且子级应该具有一定的长宽比(例如1.3),但是子级的高度应该是(Android术语中的包装内容)。
GridView
我之所以陷入困境,是因为我很了解GridView的childAspectRatio:1.3(默认值:1)总是以相同的长宽比而不是动态内容来布局子级。
childAspectRatio:1.3
注意: 儿童应根据图像的高度扩展其高度
用例: 我正在尝试实现如下所示的视图,在该视图中包装图像height = wrap content,以防高度拉伸的图像看起来不错并形成StaggeredGridView类似的结构。
height = wrap content
StaggeredGridView
编辑: 我StaggeredTile.fit在0.2.0中添加了构造函数。有了它,您应该能够构建您的应用程序;-)。
StaggeredTile.fit
第一条评论: 到目前为止,使用StaggeredGridView,布局和子级渲染完全独立。因此,正如@rmtmckenzie所说,您将必须获取图像大小才能创建图块。然后,您可以StaggeredTile.count对mainAxisCellCount参数使用带有双精度值的构造函数:(new StaggeredTile.count(x, x*h/w)其中h是图像的高度w及其宽度。这样,具有与图像相同的纵横比的图块。
StaggeredTile.count
mainAxisCellCount
new StaggeredTile.count(x, x*h/w)
h
w
您想要完成的工作将需要更多的工作,因为您想在图像下方留出一些信息。为此,我认为您必须先创建图块的实际宽度,然后再使用StaggeredTile.extent构造函数。
StaggeredTile.extent
我知道这不是理想的选择,目前我正在研究一种新的方式来创建布局。我希望这将有助于构建像您这样的方案。