在 flutter 中使用 Text 组件显示中英文文本会出现提前换行的问题。例如

Text("订单编号:200202188HHTVd1931789HHDD11318DBBBX10000");

类似这种中英文组合时后就会出现提前换行的问题,但是我翻阅文档中并没有类似 css 中word-break属性。只有一个SoftWrap的属性,默认值为true。当设置为false的时候,就不会出现提前换行的情况。但是超出边界会直接隐藏剩余的部分。

解决方法

我们可以在字符串中插入一个不可见字符串,来实现类似word-break的效果。

extension StringExtension on String {
    String get wordBreak {
        return Characters(this).join("\u{200B}");
    }
}

然后使用

Text("订单编号:200202188HHTVd1931789HHDD11318DBBBX10000".wordBreak);
最后修改:2025 年 04 月 20 日
如果觉得我的文章对你有用,请随意赞赏