根据屏幕大小调整网格视图ChildAspecRatio

问题描述 投票:0回答:1

我正在开发一个包含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时,我得到了我想要的东西。这是图像:

image

但是,当我在屏幕大小略有不同的另一台设备上尝试相同的代码时,会出现溢出错误,因为GridView的元素互相溢出。例:

image

layout dart flutter
1个回答
0
投票

使用像这样的子纵横比

MediaQuery.of(上下文).size.height / 980

© www.soinside.com 2019 - 2024. All rights reserved.