Flutter 解决TextOverflow.ellipsis

2021-03-22  本文已影响0人  一个奴隶搬砖的程序媛

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,
   )
上一篇下一篇

猜你喜欢

热点阅读