Flutter 解决TextOverflow.ellipsis截断字符

66 阅读1分钟

Text想要展示一行,显示不下展示省略号,通常使用overflow: TextOverflow.ellipsis, 缺陷: 会将长字母或者数字串整体显示省略 例子: 分组YD-YXTJA-2102217-001113123123123123123,可能会显示成:分组YD-…

解决方案:将每个字符串之间插入零宽空格

    String breakWord(String word) {
      if (word == null || word.isEmpty) {
        return word;
      }String breakWord = ' ';
      word.runes.forEach((element) {
        breakWord += String.fromCharCode(element);
        breakWord += '\u200B';
      });
      return breakWord;
    }

调用

    Text(
      breakWord("YD-YXTJA-2102217-001113123123123123123"),
      maxLines: 1,
      overflow: TextOverflow.ellipsis,
    )

原文链接: leviqin.top/topic-detai…