如何为Text或RichText设置最大行?

时间:2016-12-14 22:51:42

标签: flutter

在android中,我们可以为文本视图设置最大行:

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

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

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

4 个答案:

答案 0 :(得分:4)

使用maxLines属性简单

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

您可以使用overflow: TextOverflow.ellipsis在文本中插入...溢出省略号

Text("Some large text", maxLines: 2, overflow: TextOverflow.ellipsis)

答案 1 :(得分:3)

目前不支持此功能。您可以通过指定Input属性为可编辑的文本字段(maxLines)执行此操作,但它不适用于通用文本(尚未)。

我已提交https://github.com/flutter/flutter/issues/7271来跟踪此事。

答案 2 :(得分:0)

我相信它现在受到支持:

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

答案 3 :(得分:-2)

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

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

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