0

Having A Lazy column on which item can be deleted by dragging the item from end to start. It is dragging when item is not deleted but the item that takes the place of deleted stop dragging.

@Composable
fun DraggableCardComplex(
isRevealed: Boolean = false,
product: order, onClick: () -> Unit,
offset: Float = CARD_OFFSET,
onExpand: () -> Unit,
onCollapse: () -> Unit,
   ) {
val offset = remember {
    mutableStateOf(0f)
}
val transitionState = remember {
    MutableTransitionState(isRevealed).apply {
        targetState = isRevealed
    }
}
val transition = updateTransition(transitionState, "cardTransition")

val offsetTransition by transition.animateFloat(
    label = "cardOffsetTransition",
    transitionSpec = { tween(durationMillis = ANIMATION_DURATION) },
    targetValueByState = { if (isRevealed) offset + offsetX.value else -offsetX.value },

    )

Card(
    modifier = Modifier
        .wrapContentSize()
        .fillMaxWidth()
        .offset { IntOffset((offsetX.value + offsetTransition).roundToInt(), 0) }
        .pointerInput(Unit) {
            detectHorizontalDragGestures { change, dragAmount ->
            
                change.consumeAllChanges()
                val original = Offset(offsetX.value, 0f)
                val summed = original + Offset(x = dragAmount, y = 0f)
                val newValue = Offset(x = summed.x.coerceIn(offset, 0f), y = 0f)

                if (newValue.x < 0) {
                    offsetX.value = 0f
                    onExpand()
                    return@detectHorizontalDragGestures
                } else if (newValue.x <= 0) {
                    offsetX.value = 0f
                    onCollapse()
                    return@detectHorizontalDragGestures
                }
                offsetX.value = newValue.x
            }
        },
    shape = remember {
        RoundedCornerShape(0.dp)
    },
    content = { item(product, onClick) }
)

}

isRelvead bool is false for the item but is not dragging on deleted item place

Taha alam
  • 372
  • 3
  • 11

1 Answers1

0

Issue resolved need to add the key in itemindexed function

Taha alam
  • 372
  • 3
  • 11