如何在颤动中实现列中的gridView?

how to implement gridView in column in flutter?

我有一个包含表单的 SingleChildScrollView,表单包含一个列。 现在我想像这样使用 GridView:

return SingleChildScrollView(
    child: Container(
  width: MediaQuery.of(context).size.width,
  alignment: Alignment.center,
  decoration: BoxDecoration(
      color: Color(0xffffffff),
      borderRadius: BorderRadius.all(Radius.circular(20))),
  margin: EdgeInsets.only(
      right: 25, left: 25, top: MediaQuery.of(context).size.height * .12),
  child: Form(
    key: _formKey,
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.center,
      children: <Widget>[
        new InputFieldArea(
          icon: Icons.person,
          controller: _payValController,
          lable: 'مبلغ',
          maxLength: 9,
          validator: (value) {
            if (value.isEmpty) {
              return 'لطفا این فرم را پر کنید';
            }
            return null;
          },
          textInputType: TextInputType.number,
        ),
       
        
        _imagesAssets.length > 0
            ? new SizedBox(
                child: _buildGridView(),
              )
            : Container(),
        
            
        _submit(context),
      ],
    ),
  ),
));

这是我的网格视图:

Widget _buildGridView() {
return GridView.count(
  crossAxisCount: 2,
  padding: EdgeInsets.all(10),
  children: List.generate(_imagesAssets.length, (index) {
    Asset asset = _imagesAssets[index];
    return AssetThumb(
      asset: asset,
      width: 100,
      height: 100,
    );
  }),
);

}

但是我得到了这个渲染错误: RenderBox 未布局:RenderRepaintBoundary#3ec8a relayoutBoundary=up18 NEEDS-PAINT 'package:flutter/src/rendering/box.dart': 断言失败:第 1930 行第 12 行:'hasSize' 任何想法都会很棒

更改为:

    _imagesAssets.length > 0
        ? Expanded(
            child: _buildGridView(),
          )
        : Container(),

在 GridView 中使用以下参数

shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),

或者您可以为网格视图小部件指定固定高度。