我使用下面的代码使我的文本内容成为单行,如果超出限制,则显示三个点作为文本后缀:
Container(
color: blackColorOP11,
width: 250.w,
child: Text(
"1234567890123kjhkjhgjsadadddah",
style: TextStyle(
fontWeight: FontWeight.w600,
fontFamily: "Poppins",
fontSize: 24.sp,
color: Colors.white),
softWrap: true,
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
),
因此它将文本小部件的输出显示为“1234567890123kjhkj...” 这是完全正确的。
但问题是如果此文本内容之间有空格,例如如下所示:
“1234 567890123kjhkjhgjsadadddah
”,它只显示“1234...”
它应该显示“1234 56789123kjhk...”
可能是什么问题?或者如何实现上述输出? :1234 56789123kjhk...
最佳答案
使用子字符串
"1234567890123kjhkjhgjsadadddah".toString().substring(0,17) + '...'
完整代码:
Container(
color: Colors.green,
width: 250,
child: Text(
"1234567890123kjhkjhgjsadadddah".toString().substring(0,17) + '...',
style: TextStyle(
fontWeight: FontWeight.w600,
fontFamily: "Poppins",
fontSize: 24,
color: Colors.red),
softWrap: true,
maxLines: 1,
overflow: TextOverflow.ellipsis,
),
),
关于Flutter - 文本小部件的椭圆尺寸存在空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74369687/