[英]Incorrect rendering of text due to letterSpacing in Compose
[英]Adaptive letterSpacing in Text Jetpack Compose
@Pylyp Dukhov 提到的问题间接回答了我的问题。 因此,我们需要在文本溢出它的父级时缩小letterSpacing
并在不溢出时增大。 似乎不是最好的解决方案,但聊胜于无。 代码:
var readyToDraw by remember { mutableStateOf(false) }
var letterSpacing by remember { mutableStateOf(50.sp) }
Text(
text = "07:30",
modifier = Modifier
.drawWithContent {
if (readyToDraw) drawContent()
}
.fillMaxWidth(),
textAlign = TextAlign.Center,
softWrap = false,
letterSpacing = letterSpacing,
onTextLayout = { result ->
if (!readyToDraw) {
if (!result.didOverflowWidth && letterSpacing < 80.sp) {
letterSpacing *= 1.1f
readyToDraw = true
} else if (result.didOverflowWidth && letterSpacing > 5.sp) {
letterSpacing *= 0.9f
} else {
readyToDraw = true
}
}
}
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.