Jetpack Compose如何截断单词中间实现换行适配?
解决Jetpack Compose Text组件单词内截断问题
要实现文本在单词中间截断、尽可能填满指定行数后显示省略号的效果,只需给Text组件的style参数添加wordBreak = WordBreak.BreakAll配置即可:
Text( text = "aa bb cc ddddddddddddddddddddddddddddddddddddddddddddddddddddddddd", maxLines = 2, overflow = TextOverflow.Ellipsis, modifier = Modifier.weight(0.55f), style = TextStyle(wordBreak = WordBreak.BreakAll) )
原理说明
- 默认情况下,
Text组件的wordBreak值为WordBreak.Default,会优先在单词边界处换行,导致长单词单独占一行且提前触发截断。 - 设置
WordBreak.BreakAll后,文本会忽略单词边界限制,在任意字符位置换行,从而让内容尽可能填满设置的maxLines行数,再在末尾显示省略号。
内容的提问来源于stack exchange,提问作者user990635
相关产品推荐
相关产品推荐

