如何设置 Text 或 RichText 的最大行数?

How to set max lines for Text or RichText?

在android中,我们可以像这样设置文本视图的最大行数:

<TextView
    android:id="@+id/text"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"  
    android:maxLines="5" />

然而在 flutter 中,我们可以通过添加最大高度约束来做到这一点,但我们需要知道高度到底是多少。

有什么方法可以轻松指定 Text/RichText 的最大行数?

编辑 2021 - 现在可以了

(提示 - 可选但建议使用 maxLines 设置一些溢出)

        Text(
          'My text',
          maxLines: 4,
          overflow: TextOverflow.ellipsis,
        ),


       RichText(
          text: TextSpan(children: ....),
          maxLines: 4,
          overflow: TextOverflow.ellipsis,
        ),

我相信现在支持了:

RichText(
    maxLines: 2,
    overflow: TextOverflow.ellipsis, // TextOverflow.clip // TextOverflow.fade
    text: TextSpan(
        text: 'Hello ',
        style: DefaultTextStyle.of(context).style,
        children: <TextSpan>[
            TextSpan(text: 'bold', style: TextStyle(fontWeight: FontWeight.bold)),
            TextSpan(text: ' world!'),
        ],
    ),
)

简单使用 maxLines 属性

Text("Some large text", maxLines: 2)

并且您可以使用 overflow: TextOverflow.ellipsis 在文本

中插入 ... 溢出省略号
Text("Some large text", maxLines: 2, overflow: TextOverflow.ellipsis)

使用简单的代码片段,您可以实现:

Text("Text",
    style: TextStyle(
        fontFamily: "Avenir",
        color: Color(0xff0C64B1),
        fontSize: width * 0.045),
    maxLines: 10)

如果您遇到上述任何问题,请告诉我。我很乐意为您提供帮助。