HarmonyOs应用《重要日》开发第18篇 - MinePage “我的“页面设置与统计
本文解析 ImportantDays 项目中的第三个 Tab 页面MinePage包括统计卡片设计、通知权限管理、清除通知功能、版本信息展示以及设置页面的整体布局和交互设计。一、页面定位MinePage是应用的设置和管理页面提供应用信息展示统计数据卡片通知权限开关清除通知功能版本信息二、组件定义ComponentV2exportstruct MinePage{manager:ImportantDayManagerImportantDayManager.getInstance();LocalnotificationEnabled:booleanfalse;aboutToAppear():void{this.checkNotificationStatus();}}状态变量变量说明manager重要日管理器单例notificationEnabled通知权限状态初始化页面出现时检查通知权限状态同步 Toggle 开关。三、build 方法整体结构build(){Scroll(){Column(){// 1. 头部图标 应用名 标语Column(){...}// 2. 统计卡片this.statsCard()// 3. 设置列表this.settingsSection()// 4. 关于this.aboutSection()}}.scrollBar(BarState.Off).expandSafeArea([SafeAreaType.SYSTEM],[SafeAreaEdge.TOP])}布局层次Scroll └── Column ├── 头部图标 名称 标语 ├── statsCard统计卡片 ├── settingsSection设置列表 └── aboutSection关于信息四、头部设计Column(){Text().fontSize(48).margin({bottom:8})Text(重要日).fontSize(22).fontWeight(FontWeight.Bold).fontColor(#333333)Text(记录每一个值得期待的日子).fontSize(13).fontColor(#999999).margin({top:4})}.padding({top:32,bottom:32}).backgroundColor(#FAFAFA)视觉效果┌────────────────────────────┐ │ │ │ │ │ 重要日 │ │ 记录每一个值得期待的日子 │ │ │ └────────────────────────────┘日历 emoji 作为应用图标应用名称 22vp 粗体标语 13vp 灰色五、统计卡片BuilderstatsCard(){Row(){Column(){Text(${this.manager.getStats().total}).fontSize(28).fontWeight(FontWeight.Bold).fontColor(#FF6B6B)Text(全部).fontSize(12).fontColor(#999999).margin({top:2})}.layoutWeight(1)Column(){Text(${this.manager.getStats().upcoming}).fontSize(28).fontWeight(FontWeight.Bold).fontColor(#4ECDC4)Text(即将到来).fontSize(12).fontColor(#999999).margin({top:2})}.layoutWeight(1)Column(){Text(${this.manager.getStats().today}).fontSize(28).fontWeight(FontWeight.Bold).fontColor(#F7DC6F)Text(今天).fontSize(12).fontColor(#999999).margin({top:2})}.layoutWeight(1)Column(){Text(${this.manager.getStats().past}).fontSize(28).fontWeight(FontWeight.Bold).fontColor(#999999)Text(已过).fontSize(12).fontColor(#999999).margin({top:2})}.layoutWeight(1)}.padding({top:20,bottom:20}).backgroundColor(#FFFFFF).borderRadius(12).margin({left:16,right:16,top:16}).shadow({radius:4,color:#10000000,offsetX:0,offsetY:2})}统计项设计统计项颜色说明全部#FF6B6B红总数主题色即将到来#4ECDC4青需要关注今天#F7DC6F黄特别提示已过#999999灰弱化与列表页统计的对比列表页和我的页都显示统计数据但设计不同特性列表页 statsBar我的页 statsCard字体大小20vp28vp布局SpaceAroundlayoutWeight(1)背景透明白色圆角卡片阴影无有颜色与我的页不同与列表页不同注意两个页面的统计颜色略有不同列表页全部用灰色我的页全部用红色这是设计上的小差异。卡片样式.borderRadius(12).shadow({radius:4,color:#10000000,offsetX:0,offsetY:2})白色圆角卡片配轻微阴影营造浮起效果。六、设置列表BuildersettingsSection(){Column(){Text(设置).fontSize(14).fontColor(#999999).margin({left:4,bottom:8,top:24})// 通知设置Row(){Text(通知提醒).fontSize(15).fontColor(#333333).layoutWeight(1)Toggle({type:ToggleType.Switch,isOn:this.notificationEnabled}).selectedColor(#FF6B6B).onChange((on:boolean){this.toggleNotification(on);})}.height(52).padding({left:16,right:16}).backgroundColor(#FFFFFF).borderRadius(12)Divider().color(#F0F0F0).margin({left:16,right:16})// 清除所有通知Row(){Text(清除所有通知).fontSize(15).fontColor(#333333).layoutWeight(1)Text().fontSize(16).fontColor(#CCCCCC)}.height(52).padding({left:16,right:16}).backgroundColor(#FFFFFF).borderRadius(12).onClick((){NotificationUtil.cancelAll();})}.padding({left:16,right:16}).alignItems(HorizontalAlign.Start)}设置项设计设置 ┌────────────────────────────┐ │ 通知提醒 [开关] │ ├────────────────────────────┤ │ 清除所有通知 │ └────────────────────────────┘通知开关Toggle({type:ToggleType.Switch,isOn:this.notificationEnabled}).selectedColor(#FF6B6B).onChange((on:boolean){this.toggleNotification(on);})开关处理逻辑privateasynctoggleNotification(on:boolean):Promisevoid{if(on){constresultawaitNotificationUtil.requestPermission();this.notificationEnabledresult;}else{this.notificationEnabledfalse;}}开启通知调用requestPermission()请求系统权限用户授权 →notificationEnabled true用户拒绝 →notificationEnabled falseToggle 自动回弹关闭通知直接设置notificationEnabled false注意这里只是更新 UI 状态不会撤销系统权限清除通知.onClick((){NotificationUtil.cancelAll();})点击清除所有已发布的通知。七、关于部分BuilderaboutSection(){Column(){Text(关于).fontSize(14).fontColor(#999999).margin({left:4,bottom:8,top:24})Row(){Text(版本).fontSize(15).fontColor(#333333).layoutWeight(1)Text(1.0.0).fontSize(14).fontColor(#999999)}.height(52).padding({left:16,right:16}).backgroundColor(#FFFFFF).borderRadius(12)Text(重要日日历应用 v1.0.0\n支持倒数/正数、提醒通知、自定义颜色、日历标记).fontSize(12).fontColor(#CCCCCC).textAlign(TextAlign.Center).margin({top:16,bottom:32})}.padding({left:16,right:16}).alignItems(HorizontalAlign.Start)}关于部分布局关于 ┌────────────────────────────┐ │ 版本 1.0.0│ └────────────────────────────┘ 重要日日历应用 v1.0.0 支持倒数/正数、提醒通知、自定义颜色、日历标记八、通知权限管理详解权限检查privateasynccheckNotificationStatus():Promisevoid{this.notificationEnabledawaitNotificationUtil.checkPermission();}在aboutToAppear中调用确保 Toggle 状态与实际权限一致。权限请求流程用户打开通知开关 ↓ toggleNotification(true) ↓ NotificationUtil.requestPermission() ↓ notificationManager.requestEnableNotification() ↓ 系统弹出权限对话框 ↓ ├── 允许 → 返回 true → Toggle 保持开启 └── 拒绝 → 返回 false → Toggle 回弹到关闭权限与提醒的关系通知权限 系统级开关 ↓ checkAndSendReminders() 中检查 ↓ if (!hasPermission) return; // 无权限则不发通知 ↓ 有权限 → 遍历需要提醒的重要日 → 发布通知九、设置项的 UI 规范统一行高所有设置项行高统一为 52vp.height(52)统一内边距.padding({left:16,right:16})统一圆角.borderRadius(12)分割线Divider().color(#F0F0F0).margin({left:16,right:16})浅灰色分割线左右缩进与文字对齐。十、总结MinePage的设计体现了以下原则信息分区头部 → 统计 → 设置 → 关于层次分明设置规范化统一行高、内边距、圆角权限管理Toggle 开关联动系统权限请求实时统计统计卡片实时反映数据状态简洁克制不过度设计聚焦核心功能我的页面虽然功能简单但它是用户管理应用设置的唯一入口设计质量直接影响用户对应用的信任感。

相关新闻

Android开发学习:goldfish内核编译与调试指南

Android开发学习:goldfish内核编译与调试指南

1. 为什么选择goldfish内核进行Android开发学习在Android Framework开发的学习过程中,内核编译是一个绕不开的关键环节。goldfish内核作为Android模拟器的专用内核版本,相比其他内核有着独特的优势。首先,它是Google官方维护的模拟器内核&…

2026/7/30 14:02:21 阅读更多 →
HarmonyOs应用《重要日》开发第17篇 - 日历页多视图切换

HarmonyOs应用《重要日》开发第17篇 - 日历页多视图切换

本文解析 ImportantDays 项目中的日历页面 CalendarPage,包括年/月视图切换、日期导航(前后月、今天、日期选择器)、选中日期的重要日列表展示、以及日历与重要日数据的联动设计。一、页面定位 CalendarPage 是应用的第二个 Tab 页面&#xf…

2026/7/29 16:44:39 阅读更多 →
LDO稳压器原理、设计与选型指南

LDO稳压器原理、设计与选型指南

1. LDO基础概念与核心特性低压差线性稳压器(Low Dropout Regulator,简称LDO)是现代电子系统中不可或缺的电源管理器件。作为一名从事电源设计十余年的工程师,我见证了这个领域从传统线性稳压器到高性能LDO的技术演进。LDO最显著的…

2026/7/30 16:42:26 阅读更多 →

最新新闻

“我能否通过现有资源创造下一步资源?”

“我能否通过现有资源创造下一步资源?”

这是创造型人生和消耗型人生的分水岭。 消耗型思维: “我缺少什么,所以我无法开始。” 创造型思维: “我现在拥有什么,可以换取下一阶段需要的东西?” 第一层:资源不是固定资产,而是可以流动的筹…

2026/7/30 17:47:34 阅读更多 →
化妆品小样源头工厂避坑内参:灌装损耗、料体成本与验货硬指标

化妆品小样源头工厂避坑内参:灌装损耗、料体成本与验货硬指标

拿着某国际头部品牌正装样品来找工厂做小样定制,结果供货商报价一块钱一支,你以为捡到便宜了?我告诉你,这种小样灌出来不是分层就是胀气,客户用了一次就不信你的正装了。▼ 源头车间质检备案与合作授权说明 ▼干车间十…

2026/7/30 17:47:34 阅读更多 →
从零训练专属旋律模型,3步接入MIDI控制台,72小时内产出版权可商用乐句,附GitHub开源工具链

从零训练专属旋律模型,3步接入MIDI控制台,72小时内产出版权可商用乐句,附GitHub开源工具链

更多请点击: https://kaifayun.com 第一章:AI音乐 旋律生成 AI音乐旋律生成正从实验室走向创作一线,其核心在于将音乐理论、时序建模与深度学习深度融合。现代系统普遍采用Transformer或变体架构(如Music Transformer、MuseGAN&a…

2026/7/30 17:47:34 阅读更多 →
asynq调试技巧:如何利用dump_asynq_stack()快速定位异步任务问题

asynq调试技巧:如何利用dump_asynq_stack()快速定位异步任务问题

asynq调试技巧:如何利用dump_asynq_stack()快速定位异步任务问题 【免费下载链接】asynq Python library for asynchronous programming 项目地址: https://gitcode.com/gh_mirrors/asy/asynq 在Python异步编程中,调试异步任务往往比同步代码更具…

2026/7/30 17:47:34 阅读更多 →
5个理由告诉你为什么WhiteboxTools是地理空间分析的最佳选择

5个理由告诉你为什么WhiteboxTools是地理空间分析的最佳选择

5个理由告诉你为什么WhiteboxTools是地理空间分析的最佳选择 【免费下载链接】whitebox-tools An advanced geospatial data analysis platform 项目地址: https://gitcode.com/gh_mirrors/wh/whitebox-tools 你是否曾为复杂的地理空间数据分析而头疼?面对昂…

2026/7/30 17:47:34 阅读更多 →
分钟级精准预报!2026 超好用天气 APP 盘点

分钟级精准预报!2026 超好用天气 APP 盘点

随着生活节奏的加快与户外活动的日益多样化,人们对气象服务的需求早已不仅限于简单的“今天是否下雨”,而是向着高精度、多场景的定制化预报延伸。为了帮助不同需求的群体在众多工具中找到最合用的一款,本文将对目前市面上具有代表性的四款天…

2026/7/30 17:46:34 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻