Dart 将Gridview添加到列中会使页面为空。颤振

Dart 将Gridview添加到列中会使页面为空。颤振,dart,flutter,Dart,Flutter,我正在尝试添加一个包含2列和3行的gridview。我的问题是,当我尝试将它添加到我的行时,它会使整个页面消失。这是我的密码 class HomePage extends StatelessWidget{ @override Widget build(BuildContext context) { return Scaffold( appBar: new AppBar( elevation: 0.5, title: Text("Home

我正在尝试添加一个包含2列和3行的gridview。我的问题是,当我尝试将它添加到我的行时,它会使整个页面消失。这是我的密码

class HomePage extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        elevation: 0.5,
        title: Text("Home", style: TextStyle(fontSize: 15, color: Colors.black45)),
        centerTitle: true,
        backgroundColor: Colors.white,
      ),
      body: SingleChildScrollView(
        child: Column(
          children: <Widget>[
            new Container(
              margin: const EdgeInsets.all(25),
              child: Text("Shop Category", style: new TextStyle(fontSize: 18, color: Colors.black, fontFamily: 'Raleway'),textAlign: TextAlign.left,),
            ),
            new GridView.count(
              primary: true,
              crossAxisCount: 2,
              children: <Widget>[
                new Image.asset('assets/images/meat.jpg')
              ],
            )
          ],
        )
      ),
    );
  }
类主页扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:新的appBar(
标高:0.5,
标题:文本(“主页”,样式:TextStyle(字体大小:15,颜色:Colors.black45)),
标题:对,
背景颜色:Colors.white,
),
正文:SingleChildScrollView(
子:列(
儿童:[
新容器(
边距:常数边集全部(25),
子项:文本(“商店类别”,样式:新文本样式(fontSize:18,颜色:Colors.black,fontFamily:'Raleway'),textAlign:textAlign.left,),
),
新建GridView.count(
小学:对,
交叉轴计数:2,
儿童:[
新建Image.asset('assets/images/meat.jpg'))
],
)
],
)
),
);
}

只需将
包覆面提取
属性添加到
GridView

new GridView.count(
        shrinkWrap: true,

Column
GridView
都是全屏的,因为这是两个小部件的默认行为,所以我们必须将
GridView
缩小到屏幕中应该占据的最小大小

GridView.count(
              primary: true,
              shrinkWrap: true,
              physics: NeverScrollableScrollPhysics(),
              crossAxisCount: 2,
              children: <Widget>[
                new Image.asset('assets/images/meat.jpg')
              ],
            )
GridView.count(
小学:对,
收缩膜:对,
物理学:NeverscrollableScroll物理学(),
交叉轴计数:2,
儿童:[
新建Image.asset('assets/images/meat.jpg'))
],
)

包覆面提取:true
-此GridView仅占用所需空间


physics:NeverScrollableScrollPhysics()
-它禁用GridView的滚动功能,这意味着现在我们只有提供滚动功能的
SingleChildScrollView

因为您使用的是SingleChildScrollView+列,它不知道需要扩展多少,所以只需将shrink设置为true,它就可以工作了!