stack - 不正确使用父小部件?
问题描述
这是脚手架的主体,我真的不明白为什么我会收到这个错误?我在高度和宽度上添加了约束。仍然没有得到错误。身体的顺序对我来说似乎是合乎逻辑的?
body:Center(child:SingleChildScrollView
(child: Column(
children:_list1
.map((element)=>
Container(
margin: EdgeInsets.all(9.0),
constraints: new BoxConstraints.expand(height: 300.0),
decoration: new BoxDecoration(
border: new Border.all(color: Colors.blueAccent),
borderRadius: BorderRadius.horizontal( left:Radius.circular(30.0) ,right:Radius.circular(30.0) ),
image: new DecorationImage(
image: new AssetImage('assets/food1.jpg'),
fit: BoxFit.cover,),),
padding: EdgeInsets.only(bottom: 20.0),
child: Stack(
children:<Widget>[
Positioned(left: 0.0,bottom: 30.0,child: Text(element.name, style: new TextStyle(fontWeight: FontWeight.bold,fontSize: 20.0,)),),
Positioned(left: 0.0,bottom: 0.0,child: Text(element.dis,style: new TextStyle(fontWeight: FontWeight.bold,fontSize: 20.0,)),),
Positioned(right: 0.0,top:0.0,child:Icon(Icons.star)),
Positioned(right: 200.0,top:0.0,child:Icon(Icons.check)),
]
),
),
).toList()
)
) )
);
解决方案
您可以使用ListView代替Center
,SingleChildScrollView
和Column
.
body: ListView(
children: _list1
.map(
(element) => Container(
margin: EdgeInsets.all(9.0),
constraints: new BoxConstraints.expand(height: 300.0),
decoration: new BoxDecoration(
border: new Border.all(color: Colors.blueAccent),
borderRadius: BorderRadius.horizontal(
left: Radius.circular(30.0),
right: Radius.circular(30.0),
),
image: new DecorationImage(
image: new NetworkImage(
'https://images.pexels.com/photos/5317/food-salad-restaurant-person.jpg?auto=compress&cs=tinysrgb&h=350'),
fit: BoxFit.cover,
),
),
padding: EdgeInsets.only(bottom: 20.0),
child: Stack(
children: <Widget>[
Positioned(
left: 0.0,
bottom: 30.0,
child: Text(
element.name,
style: new TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20.0,
),
),
),
Positioned(
left: 0.0,
bottom: 0.0,
child: Text(
element.dis,
style: new TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20.0,
),
),
),
Positioned(
right: 0.0,
top: 0.0,
child: Icon(Icons.star),
),
Positioned(
right: 200.0,
top: 0.0,
child: Icon(Icons.check),
),
],
),
),
)
.toList(),
),
不过,在您的代码Center
中似乎没用。
推荐阅读
- google-sheets - 在谷歌电子表格中填写条件后未更改的单元格
- javascript - 附加到画布对象的 IF 语句问题 - JS
- linux - 无论分隔符如何,通过 sed 替换字符串失败
- c++ - 为模板重载 +=?
- python - 无法提供静态文件
- sql - 使用交叉应用扩展表
- gcc - 将静态库链接到 cmake 中的对象
- python - 没有从前一个函数传递变量
- pytorch - DataCollatorForMultipleChoice 在 trainer.train 中给出 KeyError: 'labels'
- makefile - 如何过滤包含特定模式的字符串(文件路径)