android Text Jetpack Compose中的lineHeight问题

vbopmzt1  于 2023-06-04  发布在  Android
关注(0)|答案(1)|浏览(310)

我有一些问题与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越小的文本填充越大?

bq3bfh9z

bq3bfh9z1#

实际上,在这个场景中发生的事情是,当提供0.em作为行高时,它会导致Compose使用大于2.em的默认行高。尝试在Test2中使用1.em而不是0.em,并查看结果。

相关问题