问题描述
我想要一个带有 Card
小部件的交错网格视图,我希望卡片的高度取决于正在加载的图像的高度。
https://gist.github.com/brendoncheung/2026a64410eddde20fa8ec740bbb9d84
第 7 行的 SizedBox
是我认为使卡片具有恒定高度的原因,但如果我移除 SizedBox
,它会崩溃。
RenderFlex 子级具有非零 flex 但传入高度约束 无界。
我已确保所有 Column
和 Row
小部件的父级都没有未绑定的约束。
这是我的 StaggeredGridView
代码:
@override
Widget build(BuildContext context) {
return StaggeredGridView.countBuilder(
crossAxisCount: 2,itemCount: items.length,itemBuilder: (context,index) => ItemWidget(
item: items[index],onTap: (item) => Navigator.of(context).push(MaterialPageRoute(
builder: (context) => DetailItemScreen(
item: item,)))),staggeredTileBuilder: (index) => StaggeredTile.fit(1),);
}
下面这两张图是卡片小部件,另一张是调试油漆,
解决方法
将我的 StaggeredGridView
设置与您的唯一不同之处进行比较,我的这两个设置有助于解决视口问题。
physics: NeverScrollableScrollPhysics(),shrinkWrap: true,
但我同意大小的盒子可能使高度相同。