如何设置 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)
如果您遇到上述任何问题,请告诉我。我很乐意为您提供帮助。
在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)
如果您遇到上述任何问题,请告诉我。我很乐意为您提供帮助。