问题描述
假设我有以下文本
RichText(
maxLines: 10,softWrap: true,text: TextSpan(
children: [
TextSpan(
text: 'Lorem ipsum dolor sit amet,consectetur adipiscing elit. Nulla pulvinar nisi ullamcorper bibendum tempor. Nam a leo commodo lorem pellentesque condimentum. In odio diam,porttitor ac porttitor at,iaculis elementum ipsum. Integer quis nibh et nulla gravida iaculis in eget elit. Integer mattis pretium bibendum. Pellentesque bibendum scelerisque erat. Phasellus vitae sapien diam. Quisque aliquet iaculis elit sit amet luctus. Donec tortor nisl,pulvinar ultrices mi in,ullamcorper luctus odio. Integer viverra magna quis tortor malesuada,vitae porta purus efficitur. Curabitur mollis cursus eros eget posuere.',style: TextStyle(
color: Colors.white,backgroundColor: Colors.teal,fontSize: 20,),]),)
呈现以下内容
这个长文本溢出了屏幕。我想要的是,如果空间用完,文本会在新行上继续。我怎样才能做到这一点?在 'text' 属性中设置新行不是一个选项(想想不同的屏幕尺寸或不同的语言等)
解决方法
给你:
在文本之间使用 \n
将其分开。
\n
换行并使下一个文本跳转到下一行。
示例:
Lorem ipsum dolor sit amet,\n consectetur adipiscing elit. \n Nulla pulvinar nisi ullamcorper bibendum tempor.
将被编译为:
Lorem ipsum dolor sit amet,consectetur adipiscing elit.
Nulla pulvinar nisi ullamcorper bibendum tempor.
,
将 RichText 包裹在 Expanded/Flexible 中。
注意:请记住,Flexible 和 Expanded 只能在列、行或 Flex 中使用。
>>> x = 12.34567
>>> print('Value is %.1f' % x)
Value is 12.3