manager: a small fix in InstallScreen (#1434)
今天刷一个模块,刷入时要配置一些内容,然后发现每次输出我都得手动滑动一下才能看全内容,就很难受。气得我直接翻源码,就有了这个PR :P - 防止logContent在重组时丢失。 - 修复输出内容总是自动滚动到上次内容的最底部,而不是最新内容的最底部的f问题。
This commit is contained in:
@@ -46,7 +46,7 @@ import java.util.*
|
|||||||
fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
|
fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
|
||||||
|
|
||||||
var text by rememberSaveable { mutableStateOf("") }
|
var text by rememberSaveable { mutableStateOf("") }
|
||||||
val logContent = StringBuilder()
|
val logContent = rememberSaveable { StringBuilder() }
|
||||||
var showFloatAction by rememberSaveable { mutableStateOf(false) }
|
var showFloatAction by rememberSaveable { mutableStateOf(false) }
|
||||||
|
|
||||||
val snackBarHost = LocalSnackbarHost.current
|
val snackBarHost = LocalSnackbarHost.current
|
||||||
@@ -64,9 +64,6 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
|
|||||||
}
|
}
|
||||||
}, onStdout = {
|
}, onStdout = {
|
||||||
text += "$it\n"
|
text += "$it\n"
|
||||||
scope.launch {
|
|
||||||
scrollState.animateScrollTo(scrollState.maxValue)
|
|
||||||
}
|
|
||||||
logContent.append(it).append("\n")
|
logContent.append(it).append("\n")
|
||||||
}, onStderr = {
|
}, onStderr = {
|
||||||
logContent.append(it).append("\n")
|
logContent.append(it).append("\n")
|
||||||
@@ -121,6 +118,9 @@ fun InstallScreen(navigator: DestinationsNavigator, uri: Uri) {
|
|||||||
.padding(innerPadding)
|
.padding(innerPadding)
|
||||||
.verticalScroll(scrollState),
|
.verticalScroll(scrollState),
|
||||||
) {
|
) {
|
||||||
|
LaunchedEffect(text) {
|
||||||
|
scrollState.animateScrollTo(scrollState.maxValue)
|
||||||
|
}
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier.padding(8.dp),
|
modifier = Modifier.padding(8.dp),
|
||||||
text = text,
|
text = text,
|
||||||
|
|||||||
Reference in New Issue
Block a user