我有一些问题与lineHeight在文本wiget。让我用例子来说明我的意思。我有两列两种类型的文本部件。第一个lineHeight等于2.em,第二个0.em。
Row(Modifier.fillMaxWidth()) {
Column {
repeat(10) {
Text(
text = "Test1-$it",
style = TextStyle(
fontSize = 20.sp,
fontWeight = FontWeight(500),
lineHeight = 2.em,
lineHeightStyle = LineHeightStyle(
alignment = LineHeightStyle.Alignment.Center,
trim = LineHeightStyle.Trim.None
)
),
)
}
}
Column {
repeat(10) {
Text(
text = "Test2-$it",
style = LocalTextStyle.current.merge(
TextStyle(
fontSize = 20.sp,
fontWeight = FontWeight(500),
lineHeight = 0.em,
lineHeightStyle = LineHeightStyle(
alignment = LineHeightStyle.Alignment.Center,
trim = LineHeightStyle.Trim.None
)
),
)
)
}
}
}
为什么lineHeight越小的文本填充越大?
1条答案
按热度按时间bq3bfh9z1#
实际上,在这个场景中发生的事情是,当提供
0.em
作为行高时,它会导致Compose使用大于2.em
的默认行高。尝试在Test2中使用1.em
而不是0.em
,并查看结果。