在使用 SliverGrid 或者其他列表中 配置item项中 childAspectRatio比例原因 ,会报错 ,应该在加上Expanded 包裹子项
class HomeGridItem extends StatelessWidget { @override Widget build(BuildContext context) { return SliverGrid( gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, crossAxisSpacing: 8.0, mainAxisSpacing: 8.0, childAspectRatio: 1.0), delegate: SliverChildBuilderDelegate( (contextm, index) { return Container( decoration: BoxDecoration( borderRadius: BorderRadius.all(Radius.circular(5)), color: Colors.white, ), child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: <Widget>[ ClipRRect( borderRadius: BorderRadius.only( topRight: Radius.circular(5), topLeft: Radius.circular(5), ), child: Image.network( posts[index].imageUrl, fit: BoxFit.cover, ), ), Expanded( child: Container( padding: EdgeInsets.only(top: 10, bottom: 10), child: Text( posts[index].title, style: TextStyle( color: Colors.black, fontSize: ScreenUtil().setHeight(20)), ), ), ) ], ), ); }, childCount: posts.length, ), ); } }