![](/img/trans.png)
[英]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.