flutter - 如何在颤动中制作具有不同图像高度的交错网格视图?
问题描述
我想要一个带有Card
小部件的交错网格视图,我希望卡片的高度取决于正在加载的图像的高度。
由于我的构建方法太长,这是我在 gist 中的卡片视图代码:
https://gist.github.com/brendoncheung/2026a64410eddde20fa8ec740bbb9d84
第SizedBox
7 行是我认为使卡具有恒定高度的原因,但如果我删除SizedBox
它,它会崩溃。
如果我删除SizedBox
,那么我会得到这个错误:
RenderFlex 子项具有非零弹性,但传入的高度约束是无界的。
我已确保所有Column
andRow
小部件的父级没有未绑定的约束。
这是我的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,
但我同意尺寸大小的盒子可能是相同尺寸的高度。
推荐阅读
- java - 在 Apache Camel 处理器中调用 java 过滤器的方法
- r - 在 R 中转换正确的日期格式
- sql - 基于多列识别重复行
- python - 如何在 keras 中将回归输出限制在 0 到 1 之间
- ios - 编辑时直接在键盘上方显示文本字段
- android - 如何从firebase android getValue()中检索正确的子类型
- jenkins - 在 jenkins 管道中使用 bash 从 package.json 中提取版本
- android - 如何用另一个按钮替换 Android 操作栏中的现有按钮?
- assembly - 长模式 1GB 分页
- r - 将按小时分组的稀疏数据行合并在一起