Настройка вида сетки ChildAspecRatio в соответствии с размером экрана - PullRequest
0 голосов
/ 08 марта 2019

Я занимаюсь разработкой приложения, которое включает в себя 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),
        );
      },
    ),
  );
});

Когда я использую asAsAs в качестве 0,7, я получаю то, что хочу.Вот изображение:

image)

Однако, когда я пытаюсь использовать тот же код на другом устройстве с немного другим размером экрана, возникают ошибки переполнения, потому чтоэлементы GridView переполняют друг друга.Пример:

image

1 Ответ

0 голосов
/ 15 марта 2019

используйте как childAspectRatio что-то вроде этого

MediaQuery.of (контекст) .size.height / 980

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...