Jetpack Compose文本换行时出现多余间距,如何让图标紧贴文本?
解决Jetpack Compose Row中文本与图标间距过大问题
核心问题出在你给Text设置的weight(1.0f, fill = false)修饰符——它会让Row给Text分配最大的可用宽度(Row总宽度减去图标宽度),哪怕文本换行后实际内容不需要这么宽,导致图标被强行推到Row最右侧,出现多余间距。
直接移除这个weight修饰符就能解决问题:默认情况下,Text会自适应内容的实际宽度,当文本长度超过Row的150dp限制时自动换行,图标会紧紧跟在文本末尾,不会出现多余空隙。
修改后的代码示例:
Row( modifier = Modifier.width(150.dp) ) { Text( "John Doe John Doe John Doe", modifier = Modifier.background(Color.Green) ) Icon( imageVector = Icons.Default.Done, contentDescription = "", ) }
如果需要确保文本在任何场景下都能自动换行,也可以显式给Text加上softWrap = true(默认值就是true,可省略)。
内容的提问来源于stack exchange,提问作者androiddev321
相关产品推荐
相关产品推荐

