我正在尝试实现Text
日志类型消息的视图,其中对文本的每次更改都会将文本自动滚动到最后/新添加的文本行。例如,如果我的文本大小只适合 4 行:
log 1
log 2
log 3
log 4
并添加了一个新行,那么输出应该是:
log 2
log 3
log 4
log 5
我想找到解决方案的具体问题是每次文本值发生变化时如何向下滚动到底部。我尝试了可接受的解决方案TextField
,其中 aLaunchedEffect
在组合阶段触发,但在我的情况下不起作用:
@Composable
fun LogText(log: State<String>) {
var logState = rememberScrollState(0)
val coroutineScope = rememberCoroutineScope()
LaunchedEffect(coroutineScope) {
logState.scrollTo(logState.maxValue)
}
Text(
text = log.value,
modifier = Modifier.verticalScroll(logState),
)
}
LaunchedEffect
没有更改文本以向下滚动到最新行。