flutter - 交错网格视图无法在 2 列中显示数据
问题描述
我是 Dart 的新手,所以如果这个问题看起来微不足道或不需要,我深表歉意!
我想为我的提要实现 Pinterest 样式的网格布局,只有 2 列。我正在使用staggered_grid_layout并尝试从 stackoverflow 问题中实现答案。到目前为止,这是我的代码:
主页.dart
SizedBox(
height: 535,
width: 180,
child: new StaggeredGridView.countBuilder(
crossAxisCount: 2,
itemCount: 10,
itemBuilder: (BuildContext context, int index) => Card(
child: Column(
children: <Widget>[
Image.network(storiesList[index]),
Text("Some text"),
],
),
),
staggeredTileBuilder: (int index) =>
new StaggeredTile.fit(2),
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
),
)
注意:我添加了,SizedBox()
因为我遇到了Vertical viewport was given unbounded height
错误,如果不行,请推荐一个替代方案
谢谢!
编辑:现在的样子
编辑:它应该看起来如何
解决方案
感谢更新,查看下面的代码不需要 StaggeredGridView 而是使用 GridTile,
GridView.count(
physics: const NeverScrollableScrollPhysics(),
scrollDirection: Axis.vertical,
shrinkWrap: true,
crossAxisCount: 2,
childAspectRatio: 1.0,
padding: const EdgeInsets.all(4.0),
mainAxisSpacing: 4.0,
crossAxisSpacing: 4.0,
children: new List<Widget>.generate(3, (index) {
return new GridTile(
child: InkResponse(
child: new Card(
// color:Colors.white,
child: new Center(
child: new Text('XYZ'),
),
),
enableFeedback: true,
onTap: () => _onSelected(index, items[index].toString().substring(0,10)), // Whatever you want on tap
),
);
}),
),
推荐阅读
- snowflake-cloud-data-platform - 在雪花存储过程中处理geojson数据
- python - 从数组中挑选元素
- python - 环境和虚拟环境有什么区别?
- elasticsearch - 如何使用多行将文本日志文件导入 Elasticsearch 本地安装
- redux - 我的 redux 状态发生了变化,但视图没有
- c# - NET 5 中的 RemotingServices 和 GC
- python - 使用 python 扩展 gdb:ModuleNotFoundError
- node.js - AWS Lambda node.js 'ping' 模块权限错误
- php - intercom-php API - 使用电子邮件创建对话返回 400 错误请求
- c# - 如何在编辑器中为 Unity 中的旋转平台脚本添加列表