我现在要再学习几个小时,不知道为什么无法将图像和一张带有一堆ListTiles的卡片连续放置的原因。我得到的错误是:
在performLayout()期间引发了以下断言:BoxConstraints强制无限宽度。令人讨厌的约束是:BoxConstraints(w = Infinity,0.0 <= h <= Infinity)
但是我真的不知道盒子里到底有什么,应该是带有ListTiles的卡片吗?有人可以帮我吗?
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child:
/* card == null
? loadCards()
: ListTile() */
SingleChildScrollView(
child: Card(
child: Row(mainAxisSize: MainAxisSize.min, children: [
Image.network(
"widget.card.imageUrl",
loadingBuilder: (BuildContext context, Widget child,
ImageChunkEvent loadingProgress) {
if (loadingProgress == null) {
return child;
}
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.red,
),
);
},
),
Card(
child: Column(mainAxisSize: MainAxisSize.min, children: [
ListTile(
trailing: Icon(Icons.play_arrow),
title: Text("Black Lotus"),
subtitle: Text("Name"),
),
Container(
child: Row(
children: [Icon(Icons.play_arrow), Icon(Icons.polymer)],
),
),
ListTile(
title: Text("Hello"),
),
ListTile(
title: Text("Hello"),
),
]),
),
]),
),
),
),
);
}
您的ListTile
需要约束,因此它知道其边界在哪里。
只需给它一些约束(例如,用SizedBox
包装在width
中),或者,如果要占用尽可能多的空间,只需用ListTile
小部件包装每个Flex
,例如如果要与该Flexible
上的所有图块均匀共享空间,则为Expanded
或Column
。