Aditya Thakar
06/19/2021, 6:57 AMAditya Thakar
06/19/2021, 6:57 AM@Composable
fun HomeScreenTaskList(newList: List<Task>) {
val listState = rememberLazyListState()
val currentListSize = remember { mutableStateOf(newList.size) }
val scrollToBottom = newList.size > currentListSize.value
currentListSize.value = newList.size
LazyColumn(
modifier = Modifier.fillMaxSize(),
state = listState,
contentPadding = PaddingValues(5.dp)
) {
items(items = newList,
itemContent = {
TaskListItemView(task = it)
})
}
LaunchedEffect(newList) {
if (scrollToBottom) {
listState.animateScrollToItem(newList.size)
}
}
}
Zach Klippenstein (he/him) [MOD]
06/19/2021, 2:21 PMval updatedList by rememberUpdatedState(newList)
…
LaunchedEffect(updatedList) {
snapshotFlow { updatedList }
.map { it.size }
.distinctUntilChanged()
.collectLatest { size ->
listState.animateScrollToItem(size)
}
}
Aditya Thakar
06/19/2021, 3:52 PMval updatedList by rememberUpdatedState(list)
...
LaunchedEffect(Unit) {
snapshotFlow { updatedList }
.map { it.size }
.distinctUntilChanged { oldSize, newSize -> newSize < oldSize }
.drop(1)
.collectLatest {
listState.animateScrollToItem(it)
}
}
rsktash
11/25/2021, 7:19 AM