fix: use absolute delta by scale in Switch

This commit is contained in:
2023-11-12 23:59:49 +08:00
parent f90e2c8459
commit 90130a7bfb

View File

@@ -153,9 +153,10 @@ fun Switch(
orientation = Orientation.Horizontal,
interactionSource = interactionSource,
state = rememberDraggableState { delta ->
absOffsetX += delta
val absDelta = delta * animatedScale
absOffsetX += absDelta
when {
absOffsetX in 0f..maxOffset -> offsetX += delta
absOffsetX in 0f..maxOffset -> offsetX += absDelta
absOffsetX < 0f -> offsetX = 0f
absOffsetX > maxOffset -> offsetX = maxOffset
}