From 57f61987df77fb0249956acaeef686e3bd16e4aa Mon Sep 17 00:00:00 2001 From: xfy Date: Tue, 19 May 2026 10:48:44 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E6=8A=98=E5=8F=A0=E6=80=81?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=B9=B4=E8=A7=86=E5=9B=BE=E4=BF=9D=E6=8C=81?= =?UTF-8?q?=E6=8A=98=E5=8F=A0=E5=BD=A2=E6=80=81=EF=BC=8C=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84=E5=B1=95=E5=BC=80=E8=BF=87=E6=B8=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原先折叠态切年视图会先展开回月视图再切换,多了一段冗余动画; 现在折叠态直接以折叠形态参与缩放转场,从年视图返回时仍保留周视图状态。 Co-Authored-By: Claude Opus 4.7 (1M context) --- .../kotlin/plus/rua/project/CalendarViewModel.kt | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt b/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt index a108c2e..c66db75 100644 --- a/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt +++ b/shared/src/commonMain/kotlin/plus/rua/project/CalendarViewModel.kt @@ -108,7 +108,8 @@ class CalendarViewModel( } /** - * 切换年视图。仅在展开态可用。 + * 切换年视图。折叠态下保持折叠(`isCollapsed` 不变), + * 月视图层以折叠形态参与缩放转场;从年视图返回时仍是周视图。 * * 切换瞬间立即翻转 isYearView,让对应方向的目标视图立刻接管渲染, * 当前视图被直接移除;动画只作用在目标视图的 scale/alpha 上。 @@ -116,13 +117,6 @@ class CalendarViewModel( fun toggleYearView() { yearViewJob?.cancel() yearViewJob = coroutineScope.launch { - // 折叠态先展开回月视图,再切换年视图 - if (isCollapsed) { - _collapseAnimatable.animateTo( - 0f, spring(dampingRatio = 0.8f, stiffness = 400f) - ) - isCollapsed = false - } if (isYearView) { // 年 → 月:先启动动画(年视图开始淡出),等一帧后翻转 isYearView(月视图开始组合) composeTraceBeginSection("YearView→MonthView")