From aa10d4170c3c5d4490f105922e828141b2cd60cc Mon Sep 17 00:00:00 2001 From: QIU Date: Fri, 14 Aug 2026 09:24:26 +0000 Subject: [PATCH] =?UTF-8?q?fix(radar):=20SwipeDeleteRow=20=E5=80=92?= =?UTF-8?q?=E8=AE=A1=E6=97=B6=E6=9C=9F=E9=97=B4=E9=87=8D=E6=96=B0=E6=8B=96?= =?UTF-8?q?=E6=8B=BD=E5=90=8E=E5=BD=92=E9=9B=B6=E5=81=8F=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:倒计时期间重新拖拽会取消 pending(正确),但 offsetX 仍是负值,行卡在滑开状态(要继续滑才能归位)。 根因:onDragStart 里只取消了 pending,没有归零 offsetX。 修复:onDragStart 取消 pending 的同时归零 offsetX。 影响:拖拽取消后行立即回到正常位置。 --- .../java/com/rtbishop/look4sat/feature/radar/LogTab.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/LogTab.kt b/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/LogTab.kt index 361959b9..55854a05 100644 --- a/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/LogTab.kt +++ b/feature/radar/src/main/java/com/rtbishop/look4sat/feature/radar/LogTab.kt @@ -465,7 +465,12 @@ internal fun SwipeDeleteRow( .background(MaterialTheme.colorScheme.surfaceContainer) .pointerInput(Unit) { detectHorizontalDragGestures( - onDragStart = { if (pending) { pending = false } }, + onDragStart = { + if (pending) { + pending = false + offsetX = 0f + } + }, onHorizontalDrag = { change, dragAmount -> change.consume() offsetX = (offsetX + dragAmount).coerceIn(-rowWidth.toFloat(), 0f)