HarmonyOS应用开发实战:萌宠日记 - 添加记录按钮设计
HarmonyOS应用开发实战萌宠日记 - 添加记录按钮设计前言添加记录按钮是健康记录页中触发新增数据的核心操作入口。在萌宠日记的 HealthRecordPage 中添加按钮采用内联标签样式使用 记录文字 橙色主题色放置在记录列表标题行右侧与标题形成清晰的操作引导。本文将从萌宠日记中添加记录按钮的设计与实现出发深入解析内联标签按钮的样式设计、位置布局、交互反馈以及添加记录的完整流程。一、添加按钮设计1.1 按钮样式// HealthRecordPage.ets — 添加记录按钮 Button( 记录) .fontSize(13) // 小字号 .fontColor(#F5A623) // 品牌橙色文字 .backgroundColor(#FFF3E0) // 浅橙色背景 .borderRadius(16) // 胶囊形圆角 .padding({ left: 12, right: 12, top: 4, bottom: 4 }) // 内边距 .onClick(() { this.showAddRecordDialog() // 点击弹出添加面板 })1.2 按钮参数参数值说明文字 记录加号 动词明确操作字号13fp小号与标题层级区分文字色#F5A623品牌橙色背景色#FFF3E0浅橙与文字色同色系圆角16vp胶囊形柔和内边距左右 12vp上下 4vp紧凑二、按钮位置布局2.1 标题行布局Row() { Text(记录列表) .fontSize(16) .fontWeight(FontWeight.Bold) .fontColor(#333333) Blank() Button( 记录) .fontSize(13) .fontColor(#F5A623) .backgroundColor(#FFF3E0) .borderRadius(16) .padding({ left: 12, right: 12, top: 4, bottom: 4 }) } .width(100%)2.2 布局结构┌─────────────────────────────────────┐ │ 记录列表 [ 记录] │ │ ← 标题权重高 → ← 按钮操作 → │ └─────────────────────────────────────┘三、按钮样式设计3.1 内联标签样式// 内联标签按钮风格 Button( 记录) .fontSize(13) .fontColor(#F5A623) .backgroundColor(#FFF3E0) .borderRadius(16) .padding({ left: 12, right: 12, top: 4, bottom: 4 })3.2 按钮样式对比对比维度内联标签按钮普通按钮字号13fp15-18fp背景色浅色实色圆角16vp20vp内边距紧凑宽松适用场景标题行内底部操作栏四、添加记录流程4.1 弹出添加面板// 显示添加记录对话框 showAddRecordDialog(): void { AlertDialog.show({ title: 添加体重记录, message: 请输入体重值, primaryButton: { value: 取消, action: () {} }, secondaryButton: { value: 保存, action: () { this.addWeightRecord(2024-05-05, 4.5, 正常) } } }) }4.2 自定义添加面板// 自定义添加记录面板替代 AlertDialog State showAddPanel: boolean false // 添加面板 if (this.showAddPanel) { Column() { Text(添加记录) .fontSize(18).fontWeight(FontWeight.Bold) // 体重输入 TextInput({ placeholder: 请输入体重 (kg) }) .width(100%).height(44) .backgroundColor(#F5F5F5).borderRadius(8) // 日期选择 Text(2024-05-05) .fontSize(14).fontColor(#333333) // 保存按钮 Button(保存) .width(100%).height(44) .backgroundColor(#F5A623).borderRadius(22) .fontColor(Color.White) .onClick(() { this.addWeightRecord() this.showAddPanel false }) } .width(100%) .padding(24) .backgroundColor(#FFFFFF) .borderRadius(16) .shadow({ radius: 8, color: #20000000, offsetY: 4 }) }五、添加记录的数据处理5.1 添加逻辑// 添加体重记录 addWeightRecord(): void { const newRecord: WeightRecord { date: this.getCurrentDate(), weight: ${this.weightValue} kg, status: this.getWeightStatus(this.weightValue), statusColor: this.getStatusColor(this.weightValue) } // 插入到列表头部 this.weightRecords [newRecord, ...this.weightRecords] } // 获取当前日期 getCurrentDate(): string { const now new Date() return ${now.getFullYear()}-${String(now.getMonth() 1).padStart(2, 0)}-${String(now.getDate()).padStart(2, 0)} }六、按钮交互反馈6.1 点击反馈Button( 记录) .fontSize(13) .fontColor(#F5A623) .backgroundColor(#FFF3E0) .borderRadius(16) .clickEffect({ level: ClickEffectLevel.LIGHT }) .onClick(() { this.showAddRecordDialog() })七、按钮的无障碍Button( 记录) .fontSize(13) .fontColor(#F5A623) .backgroundColor(#FFF3E0) .borderRadius(16) .accessibilityText(添加体重记录)八、最佳实践8.1 添加按钮设计原则有序列表 — 添加按钮设计的 5 个原则位置明确放在标题行右侧与标题并列视觉区分使用浅色背景 橙色文字与标题区分文案清晰 记录明确表示“添加“操作内联样式紧凑的内边距不占用过多空间操作引导点击后弹出添加表单引导用户操作8.2 萌宠日记添加按钮总结设计要素值说明文案 记录加号 动词字号13fp小号文字色#F5A623品牌橙色背景色#FFF3E0浅橙圆角16vp胶囊形位置标题行右侧与标题并列总结本文从萌宠日记的添加记录按钮实现出发深入解析了内联标签按钮的完整设计按钮样式内联标签风格浅橙背景 橙色文字位置布局标题行右侧Blank() 弹性占位添加流程点击弹出添加面板数据处理添加新记录到列表头部交互反馈点击涟漪效果无障碍适配accessibilityText 描述下一篇我们将深入查看更多交互解析健康记录页中“查看更多“链接的实现。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Button 组件https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-buttonAlertDialog 对话框https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-methods-alert-dialog-boxTextInput 组件https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-textinput点击效果https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-click-effect数据持久化https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/app-data-persistence无障碍开发https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/accessibility-kit交互反馈https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/interaction-feedback表单设计https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/form-design

相关新闻

AI编程如何重构事件驱动架构?揭秘头部科技公司正在悄悄使用的3层智能编排模型

AI编程如何重构事件驱动架构?揭秘头部科技公司正在悄悄使用的3层智能编排模型

更多请点击: https://codechina.net 第一章:AI编程如何重构事件驱动架构? 传统事件驱动架构(EDA)依赖预定义的事件契约、静态路由规则和人工编排的消费者逻辑,面对动态业务语义、多模态输入与实时意图推断…

2026/7/22 17:37:12 阅读更多 →
Widevine L3 Guesser:如何用智能破解技术重新定义流媒体安全边界?

Widevine L3 Guesser:如何用智能破解技术重新定义流媒体安全边界?

Widevine L3 Guesser:如何用智能破解技术重新定义流媒体安全边界? 【免费下载链接】widevine-l3-guesser 项目地址: https://gitcode.com/gh_mirrors/wi/widevine-l3-guesser 在数字版权管理(DRM)技术领域,Wid…

2026/7/22 17:36:11 阅读更多 →
AI搜索框架怎么选?2024最新Benchmark实测TOP7框架响应延迟、召回率、扩展性三维对比(附选型决策矩阵)

AI搜索框架怎么选?2024最新Benchmark实测TOP7框架响应延迟、召回率、扩展性三维对比(附选型决策矩阵)

更多请点击: https://kaifayun.com 第一章:AI搜索框架选型参考 在构建现代AI驱动的搜索系统时,框架选型直接影响语义理解能力、响应延迟、可扩展性与工程落地成本。当前主流方案可分为三类:轻量级嵌入服务框架、端到端检索增强生…

2026/7/22 17:36:11 阅读更多 →

最新新闻

DDrawCompat终极指南:让Windows 10/11上的经典游戏重获新生

DDrawCompat终极指南:让Windows 10/11上的经典游戏重获新生

DDrawCompat终极指南:让Windows 10/11上的经典游戏重获新生 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/D…

2026/7/22 18:23:34 阅读更多 →
TI HDVPSS三大核心模块:VIP溢出恢复、DEI去隔行与NF噪声滤波实战解析

TI HDVPSS三大核心模块:VIP溢出恢复、DEI去隔行与NF噪声滤波实战解析

1. 项目概述:高清视频处理中的“守门员”与“美容师” 在嵌入式视频处理系统的开发中,尤其是面对安防摄像头、工业视觉或医疗影像这类对实时性和画质有严苛要求的场景,工程师们常常需要与两个核心挑战作斗争: 数据流的稳定 与 …

2026/7/22 18:23:34 阅读更多 →
嵌入式视频处理:VCOMP与VPDMA硬件加速配置详解

嵌入式视频处理:VCOMP与VPDMA硬件加速配置详解

1. 项目概述与核心价值在嵌入式视频处理系统的开发中,尤其是涉及多路视频输入、画中画、图形叠加(OSD)或实时视频分析的应用里,如何高效、实时地完成视频数据的合成与搬运,往往是决定系统性能上限的关键。这背后依赖两…

2026/7/22 18:23:34 阅读更多 →
【湘潭大学支持 | ACM出版 | EI检索稳定 | 多主题征稿 | 平均4.5个月的快速EI检索周期】第二届神经网络与自然语言处理国际学术会议(NNNLP 2026)

【湘潭大学支持 | ACM出版 | EI检索稳定 | 多主题征稿 | 平均4.5个月的快速EI检索周期】第二届神经网络与自然语言处理国际学术会议(NNNLP 2026)

【ACM出版 | EI检索稳定 | 多主题征稿 | EI稳定检索】 第二届神经网络与自然语言处理国际学术会议(NNNLP 2026) 2026 2nd International Conference on Neural Networks and Natural Language Processing 2026年8月28-30日,中国北京 大会官…

2026/7/22 18:23:34 阅读更多 →
TI HDVPSS VPDMA客户端缓冲与中断机制深度解析

TI HDVPSS VPDMA客户端缓冲与中断机制深度解析

1. 项目概述与核心价值在嵌入式视频处理领域,尤其是面对高清乃至超高清视频流时,数据搬运的效率直接决定了整个系统的性能上限。CPU如果深陷于搬运每一帧YUV数据的泥潭,那复杂的去隔行、缩放、降噪等算法就无从谈起。这时,直接内存…

2026/7/22 18:23:34 阅读更多 →
深入解析GPMC时序参数:OE_RE、WE与GPMC_CLK配置实战

深入解析GPMC时序参数:OE_RE、WE与GPMC_CLK配置实战

1. 项目概述:为什么需要深究GPMC时序参数? 在嵌入式系统开发,尤其是基于TI Sitara系列处理器的项目中,与外部存储器(如NOR Flash、SRAM、FPGA配置芯片)的通信是基础且关键的一环。通用内存控制器&#xff0…

2026/7/22 18:22:34 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/22 12:54:44 阅读更多 →

月新闻