Flutter GridView childAspectRatio 动态内容
Posted
技术标签:
【中文标题】Flutter GridView childAspectRatio 动态内容【英文标题】:Flutter GridView childAspectRatio dynamic content 【发布时间】:2021-11-20 12:58:47 【问题描述】:gridview / listview
以前我使用 ListView.builder 来显示我的列表,它尊重内容的高度 (图 3),但是我需要在 2 列中显示它使用 GridView,不幸的是,这不再考虑高度,这就是为什么我对 childAspectRatio (图片 1) 进行了精确计算,知道只是系统的字母大小在1.0,但是放大的时候溢出容器(图2),因为的值没有展开em>Ratio 已经是静态的了;例如:
final itemWidth = MediaQuery.of(context).size.width;
double ratio;
if(isBigBox)
ratio = (itemWidth / 117);
else
ratio = (itemWidth / 50);
return GridView.count(
crossAxisCount: 2,
physics: NeverScrollableScrollPhysics(),
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
childAspectRatio: ratio,
shrinkWrap: true,
children: list.map((dynamic item)
return Boxes(
item: item,
);
).toList(),
);
我需要知道如何以这种方式处理 GridView 的 Ratio。 我的目标是 GridView 元素的高度应尽可能低。
谢谢。
【问题讨论】:
【参考方案1】:也许 GridView 不是您想要的。您是否考虑过https://api.flutter.dev/flutter/widgets/Table-class.html 或https://pub.dev/packages/flutter_staggered_grid_view(https://pub.dev/documentation/flutter_staggered_grid_view/latest/flutter_staggered_grid_view/StaggeredGridView/StaggeredGridView.count.html with shrinkWrap)?
【讨论】:
谢谢你,我用过平板电脑类,它可以工作! 超级棒,@DanielRoldán。请不要忘记接受我的回答或建议我如何改进它。以上是关于Flutter GridView childAspectRatio 动态内容的主要内容,如果未能解决你的问题,请参考以下文章