我的小部件文本自动换行展开,行和列内
return Container(
child: Expanded(
flex: 9,
child: GestureDetector(
onTap: () {
// .......
},
child: Container(
color: Colors.transparent,
child: Row(
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 15, bottom: 15),
child: Container(
width: 2,
color: Color(0XFF2B9FDC),
)),
Padding(
padding: EdgeInsets.only(left: 15),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text( item.name,
overflow: TextOverflow.ellipsis,
maxLines: 2,
),
Text(item.catgeory),
Text(item.price,
style: TextStyle(color: Colors.red),
),
],
),
),
],
),
),
),
),
);
我遇到了错误:抛出了另一个异常:RenderFlex在右侧被7.3像素溢出。
任何人都可以帮忙吗?
答案 0 :(得分:2)
只需用container
包装Expanded
并根据您的设计使用flex属性,并让我知道它的工作原理
return Expanded(
child: Container(
child: GestureDetector(
onTap: () {
// .......
},
child: Container(
color: Colors.transparent,
child: Row(
children: <Widget>[
Padding(
padding: EdgeInsets.only(top: 15, bottom: 15),
child: Container(
width: 2,
color: Color(0XFF2B9FDC),
)),
Padding(
padding: EdgeInsets.only(left: 15),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text( item.name,
overflow: TextOverflow.ellipsis,
maxLines: 2,
),
Text(item.catgeory),
Text(item.price,
style: TextStyle(color: Colors.red),
),
],
),
),
],
),
),
),
),
);
答案 1 :(得分:1)
更改此:
Text(
item.name,
overflow: TextOverflow.ellipsis,
maxLines: 2,
),
对此:
Text(
item.name,
softWrap : true,
maxLines: 2,
),
softWrap→bool
文字是否应在换行符处中断