我正在开发一个包含GridView的应用程序,这是最简单的代码形式:
return OrientationBuilder(builder: (context, orientation) {
return RefreshIndicator(
onRefresh: refreshList,
child: new GridView.builder(
itemCount: dergiler.length,
gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2,
mainAxisSpacing: 1.0,
crossAxisSpacing: 1.0,
childAspectRatio: 0.7),
itemBuilder: (BuildContext context, int index) {
return Container(
alignment: Alignment.center,
child: Dergielemet(dergiler[index], index),
);
},
),
);
});
当我使用as childAspectRatio作为0.7时,我得到了我想要的东西。这是图像:
但是,当我在屏幕大小略有不同的另一台设备上尝试相同的代码时,会出现溢出错误,因为GridView的元素互相溢出。例:
使用像这样的子纵横比
MediaQuery.of(上下文).size.height / 980