xfy d0f4980e01 fix: 修复快速滑动时折叠/展开失效,改用 progress 阈值判定
- 移除 velocity 判定:change.position 是本地坐标,卡片移动会导致
  velocityTracker 计算的速度方向错误,快速滑动时被误判方向而回弹
- onDragEnd 改为 progress > 0.3f 判定折叠,onExpandDragEnd 改为
  progress < 0.7f 判定展开
- 修复 onDrag/onExpandDrag 的 race condition:将 _collapseAnimatable.value
  的读取从 launch 外部移到协程内部,避免快速滑动时多回调并发读到旧值

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 14:14:18 +08:00

YaYa

基于 Kotlin Multiplatform 与 Compose Multiplatform 的跨平台日历应用,Android 与 iOS 共享同一套 UI 与业务逻辑。

特性

  • 流畅的视图切换 —— 月视图、周视图、年视图三种模式,拖拽手势驱动月↔周折叠,弹簧动画自动吸附
  • 无限滑动分页 —— 基于 Int.MAX_VALUE 的虚拟分页,前后无边界翻页
  • 完整中式日历 —— 公历 + 农历 + 二十四节气 + 传统节日,ISO 8601 周起始(周一)
  • 个人排班周期 —— 自定义工作/休息循环,与公共节假日独立
  • Material 3 设计 —— 动态配色,深色模式

技术栈

  • Kotlin 2.3 · Compose Multiplatform 1.11 · Material 3
  • kotlinx-datetime 处理所有日期逻辑
  • tyme4kt 提供农历、节气与传统节日
  • sketch 渲染 GIF 动画
  • 双模块::shared(UI + 逻辑) · :androidApp(薄壳)
  • iOS 入口为 MainViewController.kt,Xcode 工程位于 iosApp/
Description
No description provided
Readme 12 MiB
Languages
Kotlin 77.3%
Shell 18.7%
PowerShell 4%