首页 > 解决方案 > gridview.builder 不滚动的问题

问题描述

嗨,我正在使用 gridview.builder 并且它没有滚动(A RenderFlex 在底部溢出了 152 个像素。)我试图添加physics: ScrollPhysics()它不起作用
我的代码

 body: Column(
    crossAxisAlignment: CrossAxisAlignment.center,
    children: [
      FutureBuilder(
          future: DBProvider.db.getPackageData("Package", value),
          builder: (BuildContext context, AsyncSnapshot snapshot) {
            if (snapshot.hasData) {
              final orientation = MediaQuery.of(context).orientation;
              return GridView.builder(
                   scrollDirection: Axis.vertical,
                   shrinkWrap: true ,
                    itemCount: snapshot.data.length,
                    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                        crossAxisCount: (orientation == Orientation.portrait) ? 2 : 3),
                    itemBuilder: (BuildContext context, int index){
                    ItemModel item = snapshot.data[index];
                          return Card(
                            margin: EdgeInsets.all(5.0),
                            child: GridTile(
                              footer: Container(color: Colors.white,
                                  child: Text(item.name,
                                      textAlign: TextAlign.center)),
                              child: Container(child: Image.network(
                                  'https://cdn.vox-cdn.com/thumbor/fYRuzbQ2EvRavUEwWB_o9UdwhTk=/1400x788/filters:format(jpeg)/cdn.vox-cdn.com/uploads/chorus_asset/file/19157811/ply0947_fall_reviews_2019_tv_anime.jpg',
                                  fit: BoxFit.cover)),
                            ),
                          );
                  });

            } else {
              return Center(child: CircularProgressIndicator());
            }
          }),
    ],
  ),

标签: flutter

解决方案


Column用包裹SinglechildScrollView,因为gridview.builder您需要设置:

    physics: NeverScrollableScrollPhysics(),

推荐阅读