Skip to content

Commit 80b42af

Browse files
committed
fix: horizontal dismiss animation
1 parent 57a8c31 commit 80b42af

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

app/src/main/java/to/bitkit/ui/components/ToastView.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import androidx.compose.animation.SizeTransform
55
import androidx.compose.animation.core.Animatable
66
import androidx.compose.animation.core.Spring
77
import androidx.compose.animation.core.spring
8+
import androidx.compose.animation.core.tween
89
import androidx.compose.animation.fadeIn
910
import androidx.compose.animation.fadeOut
1011
import androidx.compose.animation.slideInVertically
@@ -126,7 +127,14 @@ fun ToastView(
126127
val isHorizontalSwipe = horizontalSwipeDistance > verticalSwipeDistance
127128

128129
if (isHorizontalSwipe && horizontalSwipeDistance > dismissThreshold.toPx()) {
129-
// Horizontal swipe dismiss
130+
// Horizontal swipe dismiss - animate off-screen horizontally
131+
val swipeDirection = if (dragOffsetX.value > 0) 1f else -1f
132+
val targetOffsetX = swipeDirection * 1200.dp.toPx()
133+
134+
dragOffsetX.animateTo(
135+
targetValue = targetOffsetX,
136+
animationSpec = tween(durationMillis = 200)
137+
)
130138
onDismiss()
131139
} else if (!isHorizontalSwipe && dragOffsetY.value < -dismissThreshold.toPx()) {
132140
// Vertical swipe up dismiss

0 commit comments

Comments
 (0)