Jetpack Compose中Text组件行高设置不生效的原因?
为什么Compose中设置Text的lineHeight在单行文本下没有变化?
核心原因是:Text组件的lineHeight属性主要用来控制多行文本的行间距。当文本只有一行内容时,Compose会根据字体自身的大小(fontSize)来确定Text的显示高度,此时设置的lineHeight不会改变文本的高度——毕竟没有多行需要分隔的场景,自然看不出变化。
要验证这个逻辑,你可以给Text添加多行内容,比如把text改成
"hello1\n第二行文本",就能明显看到不同lineHeight带来的行间距差异了。
另外提个小建议:在Compose里设置文本尺寸时,用50.sp这种写法比TextUnit(50f, TextUnitType.Sp)更简洁易读。
修改后的示例代码:
@Preview @Composable fun Test(){ Column(modifier = Modifier.fillMaxSize()) { Text( text = "hello1\n第二行文本", lineHeight = 50.sp ) Text( text = "hello2\n第二行文本", lineHeight = 100.sp ) } }
内容的提问来源于stack exchange,提问作者VanechikSpace
相关产品推荐
相关产品推荐

