嗨,我正在使用 gridview.builder 并且它没有滚动(底部的 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());
}
}),
],
),
答案 0 :(得分:1)
用 Column
包裹 SinglechildScrollView
,对于 gridview.builder
,您需要设置:
physics: NeverScrollableScrollPhysics(),
答案 1 :(得分:0)
将 Column
更改为 ListView
,效果会很好。