почему GridView не отображается?

#flutter

#flutter

Вопрос:

Мне интересно, почему мой GridView не отображает виджеты. Я пытаюсь отобразить кнопки в двух столбцах и 2-3 строках. Код следующий:

  Widget build(BuildContext context) {
    return Scaffold(
        body: SafeArea(
            child: Column(
      children: <Widget>[
        GridView.count(
          shrinkWrap: true,
          primary: true,
          crossAxisCount: 2,
          children: <Widget>[
            Center(
              child: FlatButton(
                onPressed: () => {},
                padding: EdgeInsets.all(10.0),
                child: Column(children: <Widget>[
                  Image.asset(
                    'assets/img/wifi.png',
                    height: 50.0,
                    width: 50.0,
                  ),
                  Text('Wifi')
                ]),
              ),
            ),
            Center(
              child: FlatButton(
                onPressed: () => {},
                padding: EdgeInsets.all(10.0),
                child: Column(children: <Widget>[
                  Image.asset(
                    'assets/img/wifi.png',
                    height: 50.0,
                    width: 50.0,
                  ),
                  Text('Key/Access')
                ]),
              ),
            ),
            Center(
              child: FlatButton(
                onPressed: () => {},
                padding: EdgeInsets.all(10.0),
                child: Column(children: <Widget>[
                  Image.asset(
                    'assets/img/wifi.png',
                    height: 50.0,
                    width: 50.0,
                  ),
                  Text('Key/Access')
                ]),
              ),
            ),
            Center(
              child: FlatButton(
                onPressed: () => {},
                padding: EdgeInsets.all(10.0),
                child: Column(children: <Widget>[
                  Image.asset(
                    'assets/img/wifi.png',
                    height: 50.0,
                    width: 50.0,
                  ),
                  Text('Key/Access')
                ]),
              ),
            ),
          ],
        )
      ],
    )));
  }
}
  

Я получаю сообщение об ошибке, в эмуляторе Android вместо кнопок с соответствующими изображениями отображаются желтые и черные полосы.

Ответ №1:

Оберните его контейнером ( высота: .. , ширина: двойная.бесконечность)

Или с помощью SizedBox

Ответ №2:

Попробуйте удалить Column виджет над GridView