根据屏幕尺寸调整网格视图ChildAspecRatio

时间:2019-03-08 20:44:54

标签: layout dart flutter

我正在开发一个包含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),
        );
      },
    ),
  );
});

当我将childAspectRatio用作0.7时,我得到了想要的东西。这是图片:

image

但是,当我在屏幕尺寸稍有不同的另一台设备上尝试相同的代码时,会出现溢出错误,因为GridView的元素彼此溢出。示例:

image

1 个答案:

答案 0 :(得分:0)

使用 childAspectRatio 这样的东西

  

MediaQuery.of(context).size.height / 980