通过文本小部件显示文本时Flutter,有时文本显示为两行

Posted

技术标签:

【中文标题】通过文本小部件显示文本时Flutter,有时文本显示为两行【英文标题】:Flutter when displaying text via the text widget, sometimes the text is displayed into two lines 【发布时间】:2022-01-11 05:28:57 【问题描述】:

我试图在颤动中使用文本小部件显示文本,但我对最终结果有疑问,文本分成两行事件 somme space 可用... 感谢您的帮助...you can find a screenshot from my emulator

【问题讨论】:

感谢您的帮助 【参考方案1】:

您可以通过传递maxLines 参数来指定文本小部件的最大行数。

Text(_someLongText, maxLines: 1);

这当然意味着文本将在进入下一行之前被切断:

没有最大线:

+-------------+
| some text   |
| long text   |
+-------------+

最大线数:1

+-------------+
| some text lo|
+-------------+

您可以使用溢出参数定义溢出文本的行为:

Column(children: [
  Text('this si some long text', maxLines: 1, overflow: TextOverflow.clip),
  Text('this si some long text', maxLines: 1, overflow: TextOverflow.elipsis),
  Text('this si some long text', maxLines: 1, overflow: TextOverflow.fade),
  Text('this si some long text', maxLines: 1, overflow: TextOverflow.visible),
]);

将会:

+-------------+
| this is some|
+-------------+
+-------------+
| this is s...|
+-------------+
+-------------+
| this is some| // can't do this one but the text fades away
+-------------+
+-------------+
| this is some long text
+-------------+

希望你能解决这个问题。

【讨论】:

h8moss,谢谢您的回复 是否检查了屏幕截图?显示特殊字符时会出现问题示例:当显示'test test test test test'时没有问题但是当字符串包含特殊字符时 - $& 小部件在两行显示文本.... @LazyCoder00 我明白了,所以你在显示字母数字字符时没有问题吗?您能否显示一些代码,以便我们尝试复制该问题? 感谢您抽出宝贵的时间,您可以通过简单地使用文本小部件显示此字符串来重现该问题,如下所示: Text("c~1rQr/bCMrLQXw*n£JJ7Ffdw0kSc5v 好的,所以问题与在 / 字符之后而不是在文本小部件末尾引入的换行符有关吗? 它与 softwrap:false 一起使用,我添加了一个滚动条来显示该行的其余部分,谢谢这是我想要的预期结果

以上是关于通过文本小部件显示文本时Flutter,有时文本显示为两行的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 文本小部件

Dart/flutter 小部件测试,无论是按键还是文本都找不到文本小部件

Flutter - 如何在一行中显示文本和图标?

Flutter:从文本小部件中获取单个单词

如何实现可点击的文本小部件 Flutter?

Flutter 使用换行对齐两个文本小部件