如何在行中制作灵活的多个小部件?我已经尝试过了,但是行不通
错误消息:A RenderFlex overflowed by 33 pixels on the right
Widget myWidget(){
List<Widget> list = [];
for (var i = 0; i < 15; i++) {
list.add(
Flexible(
child: Material(
child: InkWell(
onTap: (){},
child: Container(
child: Row(
children: <Widget>[
Radio(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
value: i,
groupValue: group,
onChanged: (int){
},
)
],
),
),
),
),
)
);
}
return Row( children: list );
}
myWidget()
非常感谢您的帮助
尝试一下,
Widget myWidget(){
List<Widget> list = [];
for (var i = 0; i < 15; i++) {
list.add(
InkWell(
onTap: (){},
child: Container(
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Radio(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
value: i,
groupValue: group,
onChanged: (int){
},
)
],
),
),
)
);
}
return SingleChildScrollView(scrollDirection: Axis.horizontal ,child: Row( children: list ));
}
只需在列表中添加元素时删除父级的Flexible Widget,最后按如下所示将列表作为水平滚动视图的子级添加,
Widget myWidget() {
List<Widget> list = [];
for (var i = 0; i < 15; i++) {
list.add(Material(
child: InkWell(
onTap: () {},
child: Container(
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Radio(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
value: i,
groupValue: "hello",
onChanged: (int) {},
),
],
),
),
),
));
}
return SingleChildScrollView(scrollDirection: Axis.horizontal, child: Row(children: list));
}