Flutter GridView childAspectRatio 动态内容
Flutter GridView childAspectRatio dynamic content
gridview / listview
之前我使用 ListView.builder 来显示我的列表,它尊重内容的高度 (图片 3) ,但是我需要用 GridView 在 2 列中显示它,不幸的是,这不再考虑高度,这就是为什么我对 childAspectRatio (图1),只知道系统的字母大小在1.0,但是放大的时候溢出了container (image 2) 并且不会扩展,因为 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 的比率。
我的目标是 GridView 元素的高度应该尽可能小。
谢谢。
gridview / listview
之前我使用 ListView.builder 来显示我的列表,它尊重内容的高度 (图片 3) ,但是我需要用 GridView 在 2 列中显示它,不幸的是,这不再考虑高度,这就是为什么我对 childAspectRatio (图1),只知道系统的字母大小在1.0,但是放大的时候溢出了container (image 2) 并且不会扩展,因为 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 的比率。 我的目标是 GridView 元素的高度应该尽可能小。
谢谢。