我有一些ListView元素,其中有一个包含文本元素的列。事实上,文本总是有不同的大小,我需要添加: true和add Flexible to Container。事实上,一些文本元素非常短,因此这些元素之间有非常大的空格,但我不能减小Container的大小,否则大文本将无法容纳。如何让Container根据内部元素的大小来决定大小?约束: BoxConstraints( minHeight : 80,maxHeight: 180)完全忽略minHeight
ListView.builder(primary: false, shrinkWrap: true, itemCount: r[index]['rasp'].length,
itemBuilder: (BuildContext cotext, ind){
return Container(
color: Colors.red,
constraints: BoxConstraints(
minHeight: 80,
maxHeight: 180,
),
child: Row(
children: <Widget>[
Container(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(r[index]['rasp'][ind]['time'].substring(0, 5), style: themes[0][current]["time_start"]),
Text(r[index]['rasp'][ind]['time'].substring(8, 13), style: themes[0][current]["time_end"]),
],
),
),
Flexible(
child: Container( // ЭТОТ
color: Colors.yellow,
padding: EdgeInsets.only(left: 10),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(r[index]['rasp'][ind]['type'], style: pairType(r[index]['rasp'][ind]['type']),),
Flexible(child: Text(r[index]['rasp'][ind]['predmet'], softWrap: true, style: themes[0][current]["pair_name"])),
RichText(
text: TextSpan(
text: r[index]['rasp'][ind]['aud'],
style: themes[0][current]["aud"],
children: <TextSpan>[
TextSpan(text: " - " + r[index]['rasp'][ind]['place'], style: themes[0][current]["place"]),
],
),
),
Flexible(child: Text(r[index]['rasp'][ind]['prepod'], softWrap: true, style: themes[0][current]["teacher"])),
],
),
),
)
],
),
);
}
)正如您在图片中看到的,为什么黄色容器会根据内部元素的大小改变其宽度。我也需要改变一下高度
发布于 2020-08-07 00:24:58
我通过添加mainAxisSize解决了这个问题: MainAxisSize.min
https://stackoverflow.com/questions/63286327
复制相似问题