现代化重写
本版本完成了锤子音乐 UI 从 XML / Kotlin View 到 Jetpack Compose 的全量迁移与现代化重写,由 GPT-6 Astra 完成。迁移覆盖主壳、资料库、搜索、收藏、播放列表、设置和播放页。
Compose 使用声明式 Kotlin API 描述界面,减少了 XML 布局与 View 控件之间的样板衔接,也让 UI 状态、组件复用和后续交互迭代更加直接。
迁移过程中保留了原有视觉、交互、本地播放链路及用户数据兼容性。
主要更新
Jetpack Compose
- 主壳、底部导航、标题栏、资料库、搜索、收藏、播放列表、设置和播放页全部使用 Compose 重新实现。
- 移除原有页面布局 XML、生产 UI View、Adapter 及旧的 framework shim。
- 使用自定义 Smartisan 组件呈现标题栏、列表、弹窗、开关、滚动条和播放控件。
- 保留原版资源和交互状态,不使用 Material 默认样式替代既有视觉。
功能与交互
- 保留本地歌曲扫描,以及歌曲、专辑、艺术家、流派和文件夹浏览。
- 保留排序筛选、字母快捷栏、资料库排除、多选滑选、滑动删除和系统授权删除。
- 保留后台播放、媒体通知、耳机与蓝牙控制、播放队列及进度恢复。
- 保留收藏、自建播放列表、播放统计、歌词、音效和睡眠定时。
- 保留黑胶唱盘、唱针拖拽、搓碟、爆豆音及播放页相关交互。
系统与工程
- 完成 edge-to-edge、系统栏、刘海、手势导航、三键导航、WindowInsets 和输入法避让适配。
- UI 使用公开 Android API,不依赖 Smartisan OS 私有服务或隐藏接口。
- 升级 Android Gradle Plugin 至
9.3.2。 - 升级 Gradle Wrapper 至
9.5.0。
完整变更:v0.2.2...v0.3.0