refactor: improve `LazyColumn` auto-scroll behavior

pull/1147/head
andrekir 2024-07-13 08:00:17 -03:00
rodzic b850805ce3
commit 4fe49a45dc
1 zmienionych plików z 8 dodań i 3 usunięć

Wyświetl plik

@ -20,7 +20,9 @@ import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.colorResource
@ -79,9 +81,12 @@ class DebugFragment : Fragment() {
val listState = rememberLazyListState()
val logs by model.meshLog.collectAsStateWithLifecycle()
LaunchedEffect(logs) {
if (listState.firstVisibleItemIndex < 3 && !listState.isScrollInProgress) {
listState.scrollToItem(0)
val shouldAutoScroll by remember { derivedStateOf { listState.firstVisibleItemIndex < 3 } }
if (shouldAutoScroll) {
LaunchedEffect(logs) {
if (!listState.isScrollInProgress) {
listState.scrollToItem(0)
}
}
}