Fis*_*awk 4 android-jetpack-compose
有一个阅读器应用程序有两个文本,一个用于总页数,一个用于当前页面。我希望当前页面文本的宽度等于总页面文本的宽度,但是总页面文本的宽度是隐式测量的。
\n目前,我只能像这样指定宽度\xef\xbc\x9a
\nRow {\n Text(modifier = Modifier.width(32.dp), text = "1000") // total page\n Slider(...)\n Text(modifier = Modifier.width(32.dp), text = "1") // current page\n}\nRun Code Online (Sandbox Code Playgroud)\n
要获得渲染文本布局,您可以使用onTextLayout. 它包含您可能需要的所有信息,包括尺寸。
然后你可以将此大小传递给第二个Text修饰符:
var totalPageTextWidth by remember { mutableStateOf<Int?>(null) }
val widthModifier = totalPageTextWidth?.let { width ->
with(LocalDensity.current) {
Modifier.width(width.toDp())
}
} ?: Modifier
Text(
text = "1000",
onTextLayout = { totalPageTextWidth = it.size.width }
)
Text(
text = "1",
modifier = widthModifier
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1587 次 |
| 最近记录: |