

신기한 캘린더
var dragAmount by remember { mutableStateOf(0f) }
Box(
modifier = modifier
.pointerInput(Unit) {
detectDragGestures(
onDragStart = {
dragAmount = 0f
},
onDrag = { change, dragAmountDelta ->
dragAmount += dragAmountDelta.x
},
onDragEnd = {
// dragAmount의 방향과 크기에 따라 이동 결정
// 어느정도 움직여야 드래그될지는 알아봐야함.
val targetIndex = when {
dragAmount > 100f -> listState.firstVisibleItemIndex - 1
dragAmount < -100f -> listState.firstVisibleItemIndex + 1
else -> listState.firstVisibleItemIndex
}.coerceIn(0, items.lastIndex)
coroutineScope.launch {
listState.animateScrollToItem(targetIndex)
}
}
)
}
) {
LazyRow(
// ...

