Skip to content

Instantly share code, notes, and snippets.

View Ahmad-Hamwi's full-sized avatar
🎯
Focusing

Ahmad Hamwi Ahmad-Hamwi

🎯
Focusing
View GitHub Profile
fun LazyListState.findFirstFullyVisibleItemIndex(): Int = findFullyVisibleItemIndex(false)
fun LazyListState.findLastFullyVisibleItemIndex(): Int = findFullyVisibleItemIndex(true)
fun LazyListState.findFullyVisibleItemIndex(reversed: Boolean): Int {
layoutInfo.visibleItemsInfo
.run { if (reversed) reversed() else this }
.forEach { itemInfo ->
val itemStartOffset = itemInfo.offset
val itemEndOffset = itemInfo.offset + itemInfo.size
operator fun component2(): (Int) -> Unit = {
...
coroutineScope.launch {
if (smoothScroll) {
lazyListState.animateScrollToItem(syncedIndices[selectedTabIndex])
} else {
lazyListState.scrollToItem(syncedIndices[selectedTabIndex])
}
}