Flutter:RichText / TextSpan:溢出时换行

问题描述

假设我有以下文本

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,),]),)

呈现以下内容

enter image description here

这个长文本溢出了屏幕。我想要的是,如果空间用完,文本会在新行上继续。我怎样才能做到这一点?在 '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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...