欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
一、本日目标
- 完善个人页统计卡片主题适配
- 修复课程页周次选择按钮主题跟随
- 修复作业页筛选标签和统计栏主题适配
- 优化周次选择弹窗布局(超边界问题)
二、完成的工作
2.1 个人页统计卡片主题适配
| 修复项 |
说明 |
| 卡片背景色 |
深色模式 darkCardBackground,浅色模式 white |
| 统计数字颜色 |
跟随主题文字颜色 |
| 统计标签颜色 |
跟随主题次要文字颜色 |
| 图标颜色 |
保持不变(蓝/橙/绿) |
2.2 课程页周次选择按钮主题适配
| 修复项 |
说明 |
| 按钮图标 |
简化为纯图标,自动跟随主题颜色 |
| 周次选择弹窗 |
完整适配深色/浅色模式,使用 Theme.of(context) 获取主题色 |
| 弹窗布局 |
修复超边界问题,限制高度为屏幕65%,使用 Flexible 替代 Expanded |
2.3 作业页主题适配
| 修复项 |
说明 |
| 筛选标签 |
FilterChip 背景色和文字颜色跟随主题 |
| 统计栏 |
背景色、文字颜色跟随主题 |
| 页面背景 |
跟随主题 scaffoldBackgroundColor |
| 复选框 |
已在 HomeworkCard 中适配 |
| 作业状态 |
已完成/未完成样式已在 HomeworkCard 中适配 |
2.4 周次选择弹窗布局优化
- 添加
isScrollControlled: true 允许自定义高度
- 设置高度为屏幕65%,解决超边界问题
- 调整网格卡片宽高比为
1.2,使卡片更紧凑
- 减小网格间距,优化显示效果
三、修改文件清单
| 文件 |
修改内容 |
lib/pages/home_page.dart |
周次选择按钮简化、周次选择弹窗主题适配和布局修复 |
lib/pages/profile_page.dart |
统计卡片主题适配 |
lib/pages/homework_page.dart |
筛选标签、统计栏主题适配 |
lib/widgets/course_card.dart |
卡片主题适配(已完成) |
lib/widgets/homework_card.dart |
卡片主题适配(已完成) |
lib/widgets/date_selector.dart |
日期选择器主题适配(已完成) |
lib/constants/colors.dart |
深色/浅色主题颜色定义 |
lib/providers/theme_provider.dart |
主题状态管理 |
lib/main.dart |
主题配置集成 |
四、当前状态
| 模块 |
主题适配状态 |
| 课表页 - AppBar |
✅ 已完成 |
| 课表页 - 周次选择按钮 |
✅ 已完成 |
| 课表页 - 周次选择弹窗 |
✅ 已完成(含布局修复) |
| 课表页 - 日期选择器 |
✅ 已完成 |
| 课表页 - 课程卡片 |
✅ 已完成 |
| 作业页 - 筛选标签 |
✅ 已完成 |
| 作业页 - 统计栏 |
✅ 已完成 |
| 作业页 - 作业卡片 |
✅ 已完成 |
| 作业页 - 浮动按钮 |
✅ 已完成 |
| 个人页 - 头部 |
✅ 已完成 |
| 个人页 - 统计卡片 |
✅ 已完成 |
| 个人页 - 功能菜单 |
✅ 已完成 |
| 个人页 - 主题设置弹窗 |
✅ 已完成 |
五、运行验证
flutter run
| 验证项 |
预期结果 |
| 切换深色模式 |
所有页面颜色自动更新 |
| 切换浅色模式 |
恢复浅色配色 |
| 跟随系统 |
自动响应系统主题 |
| 周次弹窗布局 |
不超出屏幕边界,20周完整显示 |
| 主题设置持久化 |
重启应用后保持上次选择 |

六、下一步计划
| 任务 |
优先级 |
| 数据持久化(SQLite 接入) |
高 |
| 作业到期本地通知 |
中 |
| 课表导入功能(拍照识别) |
低 |
本日完成:项目主题适配全面完成,所有页面和组件均已支持深色/浅色模式切换,周次选择弹窗布局问题已修复。下一步将专注于数据持久化功能。
代码已上传至仓库:https://atomgit.com/Krneide/my_class_schedule
所有评论(0)