Zoltan Demant
LazyListState
LazyRow
rememberLazyListState
cb
LazyColumn
LaunchedEffect
scrollToItem
isScrollInProgress
val listControllers = remember { mutableStateMapOf<ChartType, ListController>() } LaunchedEffect(listControllers) { val controllers = listControllers.values snapshotFlow { controllers .firstOrNull(ListController::scrollInProgress) ?.let { controller -> val index = controller.firstVisibleItemIndex() val scrollOffset = controller.firstVisibleItemScrollOffset() index to scrollOffset } } .filterNotNull() .distinctUntilChanged() .collect { (index, scrollOffset) -> controllers.forEach { controller -> if (!controller.scrollInProgress()) { controller.scrollTo( index, scrollOffset ) } } } }
A modern programming language that makes developers happier.