flutter - 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());
}
}),
],
),
解决方案
Column
用包裹SinglechildScrollView
,因为gridview.builder
您需要设置:
physics: NeverScrollableScrollPhysics(),