From 3e2d8864af9598ae9b793822d24bc28a39962ec4 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 13 Oct 2026 18:00:32 +0800 Subject: [PATCH] fix: use blue filled Dock icons on gray glass --- README.md | 6 +++--- docs/rschedule-0.3.2-validation.md | 9 +++++++++ mobile/lib/widgets/glass_dock.dart | 5 ++--- mobile/pubspec.yaml | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 docs/rschedule-0.3.2-validation.md diff --git a/README.md b/README.md index 5fd2a1a..cfbef95 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # RSchedule -电子科技大学研究生课表 APP,Flutter 实现,Android 0.3.1+5,Android 7.0 及以上。 +电子科技大学研究生课表 APP,Flutter 实现,Android 0.3.2+6,Android 7.0 及以上。 -三个图标标签页:课表、考试、个人设置。界面统一蓝色,三个页面标题对齐。透明蓝色液态玻璃风格悬浮 Dock 缩窄至264,选中滑块与图标为灰色,静止边距为3。支持点击图标或拖动选中滑块切换;按压和拖动时放大、松手弹簧回弹,支持的渲染模式启用实时背景折射。页面切换采用短距离移动与淡入淡出,并保留每页滚动位置。页面本身不支持左右滑动切换。课表和考试页面向下滚动时 Dock 用360ms过渡滑出屏幕底部,向上滚动恢复;个人设置页面保持显示。系统“减少动画”开启时减少切页与回弹动画。 +三个图标标签页:课表、考试、个人设置。界面统一蓝色,三个页面标题对齐。透明蓝色液态玻璃风格悬浮 Dock 缩窄至264,选中滑块为灰色玻璃,图标为实心蓝色,静止边距为3。支持点击图标或拖动选中滑块切换;按压和拖动时放大、松手弹簧回弹,支持的渲染模式启用实时背景折射。页面切换采用短距离移动与淡入淡出,并保留每页滚动位置。页面本身不支持左右滑动切换。课表和考试页面向下滚动时 Dock 用360ms过渡滑出屏幕底部,向上滚动恢复;个人设置页面保持显示。系统“减少动画”开启时减少切页与回弹动画。 课表周一至周日固定七列同屏,无横向滚动。同节数课程条等长;课程名可省略,老师和教室完整换行,点击查看全部信息。课程条默认长度125%,在「个人设置 → 课表设置 → 课程条长度」调节80%–200%。课前提醒、手机日历及学期设置继续保留。 @@ -41,4 +41,4 @@ flutter test flutter analyze ``` -仓库根目录运行 `./scripts/build-android.ps1` 构建。验证记录:[0.3.1自动读取与玻璃动画修正](docs/rschedule-0.3.1-validation.md)、[0.3.0登录、考试和动画](docs/rschedule-0.3-validation.md)。Windows模拟器可仅在测试启动时使用软件渲染并关闭Impeller;交付APK保留手机默认渲染配置。历史验证:[0.2.1](docs/blue-glass-and-course-length.md)、[0.2.0](docs/riverside-revision-validation.md)、[首版](docs/android-mvp-validation.md)。 +仓库根目录运行 `./scripts/build-android.ps1` 构建。验证记录:[0.3.2蓝色图标修正](docs/rschedule-0.3.2-validation.md)、[0.3.1自动读取与玻璃动画修正](docs/rschedule-0.3.1-validation.md)、[0.3.0登录、考试和动画](docs/rschedule-0.3-validation.md)。Windows模拟器可仅在测试启动时使用软件渲染并关闭Impeller;交付APK保留手机默认渲染配置。历史验证:[0.2.1](docs/blue-glass-and-course-length.md)、[0.2.0](docs/riverside-revision-validation.md)、[首版](docs/android-mvp-validation.md)。 diff --git a/docs/rschedule-0.3.2-validation.md b/docs/rschedule-0.3.2-validation.md new file mode 100644 index 0000000..a7c3ffe --- /dev/null +++ b/docs/rschedule-0.3.2-validation.md @@ -0,0 +1,9 @@ +# RSchedule 0.3.2+6 · 蓝色图标 + +2026-10-13。 + +保留灰色玻璃选中滑块,将选中图标从灰色改为完整蓝色(#007AFF)。考试图标改用实心样式;三个图标均采用填充图形,未选中图标继续使用较淡蓝色。 + +Dock尺寸、边距、放大回弹、折射、滑出隐藏以及学校自动读取流程沿用0.3.1。 + +107项回归测试通过,flutter analyze无问题,Android构建和覆盖安装成功。已目视检查实际考试页的实心蓝色图标,并更新三页及按压截图。交付包版本0.3.2/code6;原包名和签名兼容。历史详情:[0.3.1](rschedule-0.3.1-validation.md)。 diff --git a/mobile/lib/widgets/glass_dock.dart b/mobile/lib/widgets/glass_dock.dart index 34c5765..4078e1d 100644 --- a/mobile/lib/widgets/glass_dock.dart +++ b/mobile/lib/widgets/glass_dock.dart @@ -21,7 +21,6 @@ class GlassDock extends StatefulWidget { class _GlassDockState extends State with TickerProviderStateMixin { static const _width = 264.0, _height = 68.0, _inset = 3.0, _travel = 86.0; static const _blue = Color(0xFF007AFF); - static const _selectedInk = Color(0xFF62666C); late final AnimationController _motion = AnimationController.unbounded( vsync: this, value: widget.selectedIndex.toDouble(), @@ -181,7 +180,7 @@ class _GlassDockState extends State with TickerProviderStateMixin { child: Row( children: [ _item(0, Icons.calendar_month_rounded, '课表'), - _item(1, Icons.assignment_outlined, '考试'), + _item(1, Icons.assignment_rounded, '考试'), _item(2, Icons.person_rounded, '个人设置'), ], ), @@ -253,7 +252,7 @@ class _GlassDockState extends State with TickerProviderStateMixin { icon, size: 27, color: index == _position.round().clamp(0, 2) - ? _selectedInk + ? _blue : _blue.withValues(alpha: 0.48), ), ), diff --git a/mobile/pubspec.yaml b/mobile/pubspec.yaml index aff195e..1f1a470 100644 --- a/mobile/pubspec.yaml +++ b/mobile/pubspec.yaml @@ -1,7 +1,7 @@ name: hepan_everyday description: RSchedule 研究生课表 publish_to: none -version: 0.3.1+5 +version: 0.3.2+6 environment: sdk: ^3.13.5 dependencies: