fix: 修复预测性返回手势失效和结束闪屏

- 移除 enabled 条件中的 backProgress == 0f,该条件在手势开始时
  会立即禁用 handler 导致系统直接执行返回
- 将 handleBack 结尾的 snapTo(0f) 改为 animateTo(0f, tween(100))
  避免进度瞬间跳变引起的闪屏
This commit is contained in:
meyou 2026-05-19 23:20:42 +08:00
parent 911b8f2293
commit 4219527428
No known key found for this signature in database

View File

@ -95,7 +95,7 @@ fun App() {
Screen.Licenses -> Screen.About
else -> currentScreen
}
backAnimProgress.snapTo(0f)
backAnimProgress.animateTo(0f, tween(100, easing = FastOutSlowInEasing))
}
}
@ -186,7 +186,7 @@ fun App() {
// 预测性返回手势
if (currentScreen != Screen.Main) {
PredictiveBackHandler(
enabled = backProgress == 0f && !backAnimProgress.isRunning && forwardTarget == null,
enabled = !backAnimProgress.isRunning && forwardTarget == null,
onProgress = { backProgress = it },
onBack = handleBack,
onCancel = handleCancel