12 Commits

Author SHA1 Message Date
meyou
911b8f2293
fix: 返回动画结束时 alpha 完全归零,消除闪屏 2026-05-19 22:34:02 +08:00
meyou
bde143a25b
feat: 迁移 NavigationBackHandler + 替换应用图标
- 将 PredictiveBackHandler 迁移到 NavigationBackHandler (navigationevent-compose 1.0.1)
- 添加 org.jetbrains.androidx.navigationevent:navigationevent-compose 依赖
- 提取 applyDismissTransform/applyRevealTransform/applyEnterTransform 辅助函数
- 替换所有密度的启动图标和关于页图标
- 移除旧的自适应图标 XML 配置
2026-05-19 22:24:26 +08:00
meyou
bde922080a
feat: 预测性返回动画 — Box 分层布局替换 AnimatedContent
- 用 Box 三层堆叠替代 AnimatedContent,底层页面始终可见
- 返回手势跟手驱动顶层页面滑移+缩放+圆角+阴影,底层同步放大显现
- Animatable 驱动手势提交/取消的平滑过渡动画
- 前向导航从右侧滑入,底层页面同步缩小
2026-05-19 21:12:02 +08:00
xfy
e5ce11128a style: 代码清理 — 移除未使用的 import 和变量
- Platform.android.kt: 移除未使用的 kotlinx.coroutines.launch import
  和未使用的 scope 变量
- CalendarMonthView.kt: 移除未使用的 density 变量
- App.kt: 格式化缩进

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 18:29:41 +08:00
xfy
fc3c8ec882 feat: Android 13+ 预测性返回手势(Predictive Back)
- BackHandler 升级为 PredictiveBackHandler expect/actual
- Android 13+ 启用系统级预测返回,跟手阶段同步位移/缩放页面
- Android 低版本回退至普通 BackHandler
- iOS 保持空实现(无系统返回手势)
- 页面返回动画统一 250ms 时长,提升流畅感
- AndroidManifest 启用 enableOnBackInvokedCallback
2026-05-19 17:58:49 +08:00
xfy
58ab7eab4e feat: 页面切换添加滑入滑出动效
使用 AnimatedContent 为 Main/About/Licenses 导航添加方向感知的
slide + fade 转场动画,向前导航从右滑入,返回从左滑入。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 17:45:24 +08:00
xfy
0b1d89f06d feat: 新增 BackHandler expect/actual 拦截系统返回手势
Android 通过 androidx.activity.compose.BackHandler 接管返回键,
在关于页与许可页返回上一级;iOS 无系统返回键,actual 为空实现。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 17:34:43 +08:00
xfy
43579b2866 feat: 关于页面与开源许可声明
- 新增 AboutScreen:应用图标、名称、版本、开源许可入口
- 新增 LicensesScreen 与 Licenses 数据源,展示第三方依赖许可证
- App 内页面导航(Main/About/Licenses)
- 双平台 getAppIconUri() 及 app_icon.png 资源
- 菜单"关于"项接入 AboutScreen 跳转
- iOS Info.plist 补充 CFBundleShortVersionString / CFBundleVersion

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 17:31:26 +08:00
xfy
fae6e3eb72 feat: 支持系统深色主题切换
新增 values/values-night 主题资源 Theme.YaYa,AndroidManifest 切换为该主题;
Compose 端根据 isSystemInDarkTheme 切换 light/dark ColorScheme。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 13:52:41 +08:00
xfy
d7552e469f Add KDoc and inline comments per COMMENTS.md conventions
- Add KDoc to all public Composable functions with parameter descriptions
- Add inline comments for non-obvious algorithms (42-cell grid, pager mapping)
- Add @Suppress reason comments for monthNumber deprecation
- Document collapseProgress range and physical meaning
- Add named constant comments for START_PAGE
- Add Preview name to App()

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 15:22:49 +08:00
xfy
eb8b16047a Implement swipeable month view with HorizontalPager and assemble app
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 13:29:18 +08:00
xfy
07f6b779c6 Refactor KMP project structure for AGP 9.0 compatibility
Split composeApp into shared (KMP library) and androidApp (Android application)
modules to resolve KMP + AGP 9.0 incompatibility. Remove deprecated gradle
properties and add performance optimization settings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 11:47:26 +08:00