问题:Flutter 中RichText 无法换行?
首先想到的是:softWare设置为true,maxLine设置为2或者更多,overflow设置文字超出屏幕的显示方式,然而这些都不好使。
然后进行百度后:说使用Expanded包裹下RichText,经过测试依旧不好使
最后:再看下嵌套结构,这个布局嵌套了很多Column和Row,于是我使用Expanded包裹下上一层的Column的,神奇就好了
如图所示:
注:请注意看黑色加粗部分代码
Expanded(
child:Padding(
padding:EdgeInsets.only(left:10),
child:Column(
crossAxisAlignment: CrossAxisAlignment.start, //设置文字左对齐
children: [
_title(searchEntityEntity.data[position]),
_subTitle(searchEntityEntity.data[position]),
],
),
),
),
_title(SearchEntityData item) {
if (item ==null)return null;
List spans = [];
spans.addAll(_keywordTextSpans(item.word, keyword));
spans.add(TextSpan(
text:' ' +
(item.word) +
' ' +
(item.districtname ??'') +
' ' +
(item.zonename ??''),
style:TextStyle(fontSize:16, color: Colors.grey),
));
return RichText(
text:TextSpan(children: spans),
maxLines:4,//最多显示四行
overflow: TextOverflow.ellipsis,//显示省略号
softWrap:true,
);
}