为什么 Jetpack Compose-beta08 中 Text("") 的 fontSize 中只有“.sp”可组合而没有“.dp”
Why is there only ".sp" in fontSize of Text("") composable and not ".dp" in Jetpack Compose-beta08
我希望文本的大小在 .dp
以内,这样它就不会根据系统字体而改变。
如何在 Jetpack Compose“文本”可组合中实现这一点
Compose 团队不打算提供这种可能性,em
使用起来有点麻烦,但如果任何人确实需要它,都有一个简单的解决方法。
@Composable
fun dpToSp(dp: Dp) = with(LocalDensity.current) { dp.toSp() }
Text("ABCD", fontSize = dpToSp(15.dp))
取自同一个问题跟踪器:https://issuetracker.google.com/190644747。
可以使用扩展属性:
private fun Int.textDp(density: Density): TextUnit = with(density) {
this@textDp.dp.toSp()
}
val Int.textDp: TextUnit
@Composable get() = this.textDp(density = LocalDensity.current)
我希望文本的大小在 .dp
以内,这样它就不会根据系统字体而改变。
如何在 Jetpack Compose“文本”可组合中实现这一点
Compose 团队不打算提供这种可能性,em
使用起来有点麻烦,但如果任何人确实需要它,都有一个简单的解决方法。
@Composable
fun dpToSp(dp: Dp) = with(LocalDensity.current) { dp.toSp() }
Text("ABCD", fontSize = dpToSp(15.dp))
取自同一个问题跟踪器:https://issuetracker.google.com/190644747。
可以使用扩展属性:
private fun Int.textDp(density: Density): TextUnit = with(density) {
this@textDp.dp.toSp()
}
val Int.textDp: TextUnit
@Composable get() = this.textDp(density = LocalDensity.current)