interface LazyListItemInfo { /* アイテムの開始点からの距離 */ val offset: Int /* アイテムの幅 */ val size: Int … } val LazyListItemInfo.offsetEnd: Int get() = offset + size offsetEnd
var draggingItemIndex by mutableStateOf<Int?>(null) var initialDraggedItem: LazyListItemInfo? = null val draggedItemY: Float get() { val draggedItemOffset = lazyListState.findVisibleItemInfoByIndex(draggingItemIndex)?.offset ?: 0 return draggedDistance + (initialDraggedItem?.offset ?: 0f).toFloat() - draggedItemOffset } } ① ② ③