Индикатор Gridview.count не работает и показывает желтые и черные полосы

#flutter

#ошибка

Вопрос:

Я сделал Gridview.count для рендеринга 6 кнопок в 2 столбцах и 3 строках, это не рендеринг, и вместо компонентов он показывает желтые и черные полосы. Я уже установил высоту и ширину, все они упакованы в контейнер.

введите описание изображения здесь

  return Scaffold(
        body: Container(
            height: 450.0,
            width: double.infinity,
            child: 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')
                    ]),
                  ),
                ),
              ],
            )));
  }
}
  

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

Этот виджет импортирован в этот:

   Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color(0xFF88B4E0),
      appBar: AppBar(
        leading: IconButton(
          onPressed: () {
            Navigator.of(context).pop();
          },
          icon: Icon(Icons.arrow_back_ios),
          color: Colors.white,
        ),
        backgroundColor: Colors.transparent,
        elevation: 0.0,
        title: Text('Help and FAQ',
            style: TextStyle(fontSize: 18.0, color: Colors.white)),
        centerTitle: true,
        actions: <Widget>[
          SearchButton(),
        ],
      ),
      body: ListView(children: [
        Stack(children: [
          Container(
              height: MediaQuery.of(context).size.height - 82.0,
              width: MediaQuery.of(context).size.width,
              color: Colors.transparent),
          Positioned(
              top: 75.0,
              child: Container(
                decoration: BoxDecoration(
                    borderRadius: BorderRadius.only(
                      topLeft: Radius.circular(45.0),
                      topRight: Radius.circular(45.0),
                    ),
                    color: Colors.white),
                height: MediaQuery.of(context).size.height - 100.0,
                width: MediaQuery.of(context).size.width,
                child: Column(
                  children: [
                    SizedBox(height: 20.0),
                    Testing(),
                  ],
                ),
              )),
        ]),
      ]),
    );
  }

  void moveBack() {
    Navigator.pop(context);
  }
}
  

Комментарии:

1. попробуйте обернуть ваш gridview.count внутри SingleChildScrollView() и установить в нем scrollDirection

2. Этот код работает нормально. Где размещен этот виджет?

3. Рассмотрите возможность добавления журнала ошибок из консоли.