HarmonyOS应用开发实战:萌宠日记 - 图标与 Emoji 在 UI 中的应用
HarmonyOS应用开发实战萌宠日记 - 图标与 Emoji 在 UI 中的应用前言在萌宠日记中Emoji 表情符号被大量用作 UI 图标 — 从底部导航栏的 到首页快捷操作的 ⚙️再到健康提醒的 ️。这种以 Emoji 替代传统图标的方式在简化开发流程的同时也为应用增添了温暖、活泼的视觉气质。本文将从萌宠日记的 Emoji 使用实践出发深入解析 Emoji 作为 UI 图标的优势与局限、选择策略、样式控制以及无障碍适配方案。一、Emoji 在萌宠日记中的使用全景1.1 使用场景统计使用场景数量示例位置底部导航栏5 个Index.ets TabBar快捷操作5 个⚙️HomePage.ets健康提醒5 个️✂️ReminderPage.ets健康分类5 个⚖️️HealthRecordPage.ets心情选择5 个WriteDiaryPage.ets活动统计3 个StatisticsPage.ets社区话题3 个CommunityPage.ets总计31 个—覆盖 10 页面1.2 Emoji 使用方式// 方式一Text 组件渲染 Emoji Text() .fontSize(24) .fontColor(#F5A623) // 方式二字符串中包含 Emoji Text(记录爱·陪伴成长) .fontSize(16) .fontColor(#F5A623) // 方式三数据模型中的 Emoji interface QuickAction { icon: string // , , , , ⚙️ label: string color: string }提示Emoji 在 ArkTS 中通过Text组件渲染本质上是 Unicode 字符。fontSize控制 Emoji 的显示大小fontColor控制颜色。绝大多数 Emoji 支持单色渲染但部分彩色 Emoji 不受fontColor影响。二、Emoji 作为 UI 图标的优势2.1 核心优势对比对比维度Emoji 图标图片图标矢量图标加载速度即时渲染需要 I/O 加载需解析路径分辨率适配自动适配无失真需准备多套尺寸矢量缩放开发成本零成本需设计师设计需图标库修改难度改一个字符重新切图重新导出主题适配可设置 fontColor需多套图片可设置 fill文件体积0 额外体积增加 APK 大小需引入库跨平台系统差异统一统一2.2 萌宠日记选择 Emoji 的原因开发效率无需设计师提供图标素材开发者直接使用 Emoji文件体积不增加 APK 体积加载速度快自适应自动适配不同屏幕分辨率无需多尺寸切图风格统一系统 Emoji 风格统一视觉一致性有保障情感表达Emoji 自带情感属性适合萌宠日记的温暖调性三、Emoji 的选择策略3.1 语义匹配功能模块选择 Emoji匹配理由首页 房子代表“首页“的通用符号日记 备忘录代表“书写“和“记录“记录 剪贴板代表“清单“和“记录“统计 条形图代表“数据“和“图表“我的 用户代表“个人“和“用户“3.2 选择原则语义明确Emoji 含义与功能匹配用户一看就懂普遍认知选择用户广泛理解的 Emoji避免生僻符号风格统一全部使用系统 Emoji保持视觉一致性尺寸适中导航栏字体 24fp图标区域 48×48vp四、Emoji 的样式控制4.1 字体大小与颜色// 控制 Emoji 的大小 Text() .fontSize(80) // 大尺寸用于闪屏页插画 Text() .fontSize(24) // 中等尺寸用于导航栏 Text() .fontSize(20) // 小尺寸用于列表图标 // 控制 Emoji 的颜色对单色 Emoji 有效 Text() .fontColor(#F5A623) // 橙色 .fontColor(#999999) // 灰色未选中态4.2 Emoji 颜色控制Emoji 类型颜色控制示例单色 EmojifontColor有效⚙️彩色 EmojifontColor无效保持原色肤色 EmojifontColor无效默认肤色五、Emoji 与文字的混合排版5.1 图标 文字组合// 导航栏图标在上文字在下 Builder TabBarBuilder(icon: string, label: string, index: number) { Column() { Text(icon).fontSize(24) // 图标 Text(label).fontSize(10) // 文字 .margin({ top: 2 }) } } // 列表项图标在左文字在右 Row({ space: 12 }) { Text(reminder.icon).fontSize(24) // 图标 Column({ space: 4 }) { Text(reminder.title).fontSize(14) // 标题 Text(reminder.date).fontSize(12) // 日期 } }5.2 文字中嵌入 Emoji// 品牌标语中嵌入 Emoji Text(记录爱·陪伴成长) .fontSize(16) .fontColor(#F5A623)六、无障碍适配6.1 Emoji 的无障碍问题// 屏幕朗读会读出 Emoji 的 Unicode 名称 // 例如 会被读作 房子 // 但部分 Emoji 的朗读效果可能不理想 // 解决方案添加 accessibilityText 覆盖 Text() .fontSize(24) .accessibilityText(首页) // 朗读 首页 而非 房子6.2 Emoji 无障碍对照表Emoji默认朗读无障碍文本原因“房子”“首页”功能名更清晰“备忘录”“日记”业务名更准确“用户”“我的”功能名更清晰⚙️“齿轮”“设置”功能名更清晰“绿色爱心”“健康”功能名更准确七、跨平台 Emoji 差异7.1 系统差异平台Emoji 风格特点HarmonyOS系统默认与 OpenHarmony 风格一致iOSApple 风格圆润、立体AndroidGoogle 风格扁平、卡通WindowsMicrosoft 风格简洁、扁平7.2 兼容性建议选择通用性高的 Emoji避免平台特有符号在文字标签辅助下使用 Emoji即使 Emoji 渲染有差异文字也能传达含义关键图标使用图片资源作为备选方案八、Emoji 的性能考量8.1 性能对比渲染方式性能开销说明Emoji极低系统字体渲染GPU 加速图片 PNG低解码 纹理上传矢量 SVG中路径解析 渲染自定义绘制高Canvas 绘制8.2 优化建议避免在同一个页面使用过多不同大小的 Emoji不要将 Emoji 作为动画元素需使用图片资源大尺寸 Emoji如 80fp在低端设备上可能有渲染延迟九、从 Emoji 迁移到图标库9.1 迁移时机时机原因迁移方案原型阶段快速验证使用 Emoji ✅MVP 版本快速上线使用 Emoji ✅正式版本品牌统一考虑图标库主题定制自定义颜色必须迁移9.2 图标库方案// 使用 SymbolGlyph 组件加载自定义图标 import { SymbolGlyph } from kit.ArkUI SymbolGlyph($r(sys.symbol.ohos_home)) .fontSize(24) .fontColor(#F5A623)十、最佳实践10.1 Emoji 使用原则有序列表 — Emoji 作为 UI 图标的 5 个原则优先选通用 Emoji选择用户广泛理解的 Emoji避免生僻符号配合文字标签Emoji 下方或旁边配合文字说明避免歧义控制尺寸导航栏 24fp列表图标 20-24fp大图 48-80fp测试无障碍为功能性的 Emoji 添加 accessibilityText规划迁移路径原型阶段用 Emoji 快速迭代正式版逐步迁移到图标库10.2 萌宠日记 Emoji 使用总结使用层级示例数量字号颜色控制导航栏524fp✅ 选中/未选中操作图标⚙️524fp❌ 保持原色列表图标️✂️524fp❌ 保持原色分类图标⚖️522fp❌ 保持原色心情图标528fp❌ 保持原色插画348-80fp❌ 保持原色总结本文从萌宠日记的Emoji 使用实践出发深入解析了 Emoji 作为 UI 图标的完整方法使用全景31 个 Emoji 覆盖 10 页面多种使用方式核心优势零成本、自适应、无额外体积、即时渲染选择策略语义匹配、普遍认知、风格统一样式控制fontSize 控制大小fontColor 控制颜色混合排版图标 文字组合文字中嵌入 Emoji无障碍适配accessibilityText 覆盖默认朗读跨平台差异不同平台 Emoji 风格不同迁移方案从 Emoji 到图标库的演进路径Emoji 作为 UI 图标的轻量级方案特别适合原型阶段和情感化设计场景但正式产品需要根据品牌需求权衡是否迁移到统一图标库。下一篇我们将深入空白占位与 Flex 布局解析 Blank 和 Flex 组件在布局中的应用。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Text 组件参考https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-textSymbolGlyph 组件https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-symbolglyph无障碍开发https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/accessibility-kit字体图标使用https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/icon-font颜色管理https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/color-usage字体排版https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/typographyUI 设计规范https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/design-overview无障碍设计指南https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/accessibility-approve-experience

相关新闻

对讲机定时自动重启、固定时段死机排查 香坊双工电子系统定时故障专项修复

对讲机定时自动重启、固定时段死机排查 香坊双工电子系统定时故障专项修复

哈尔滨不少单位的对讲机存在规律性疑难故障:设备每天固定时段自动重启、静置待机无故死机,白天使用正常、夜间挂机频繁重启,没有磕碰、没有进水、没有人为操作,故障却准时出现。很多维修无法查出问题,只能归结为“设备…

2026/7/23 21:03:37 阅读更多 →
TI Tiva微控制器EPI接口配置:通用模式与主机总线模式详解

TI Tiva微控制器EPI接口配置:通用模式与主机总线模式详解

1. 项目概述与EPI核心价值如果你正在用TI的Tiva™系列微控制器(比如TM4C129x)做项目,并且遇到了一个瓶颈——片上资源不够用,或者需要连接一个高速的外部设备,比如一块FPGA、一片大容量的SRAM,或者一个并行…

2026/7/22 16:38:45 阅读更多 →
TI VPDMA中断寄存器配置:从原理到实战的嵌入式视频处理优化

TI VPDMA中断寄存器配置:从原理到实战的嵌入式视频处理优化

1. 项目概述与核心价值在嵌入式视频处理系统的开发中,尤其是面对德州仪器(TI)这类高性能SoC平台,如何高效、稳定地处理海量视频数据流,是每个底层驱动工程师和系统架构师必须啃下的硬骨头。我接触过不少项目&#xff0…

2026/7/22 16:38:45 阅读更多 →

最新新闻

【更新2024年】2000-2024年各地级市PM2.5年均浓度数据

【更新2024年】2000-2024年各地级市PM2.5年均浓度数据

【更新2024年】2000-2024年各地级市PM2.5年均浓度数据 1、时间:2000-2024年 2、来源:圣路易斯华盛顿大学、中国空气质量监测站点 3、指标:城市、年份、省份、省份代码、城市代码、胡焕庸线、PM2.5年均浓度(微克/立方) 4、范围…

2026/7/23 21:03:48 阅读更多 →
Android CameraServer架构理解

Android CameraServer架构理解

0. 全链路架构总览 +=====================================================================+ | App 层 (Java/Native) | | android.hardware.camera2 (Camera2 API) | | android.hardware…

2026/7/23 21:03:48 阅读更多 →
【Linux系统篇】从 fork 到 WNOHANG:进程创建与等待机制详解

【Linux系统篇】从 fork 到 WNOHANG:进程创建与等待机制详解

🔥个人主页:爱和冰阔乐 📚专栏传送门:《数据结构与算法》 、C 🐶学习方向:C方向学习爱好者 ⭐人生格言:得知坦然 ,失之淡然 🏠博主简介 文章目录前言一、进程创建1.1 f…

2026/7/23 21:03:48 阅读更多 →
本科毕业设计全流程问题解析与应对策略

本科毕业设计全流程问题解析与应对策略

1. 本科毕业设计常见问题深度解析毕业季来临,又到了大四学子们为毕业设计焦头烂额的时候。作为指导过多届毕业设计的"老司机",我整理了一份超详细的毕业设计问答指南,希望能帮助大家少走弯路。这份问答不是那种泛泛而谈的"正确…

2026/7/23 21:03:48 阅读更多 →
OpenCvSharp读取、显示和写入图像

OpenCvSharp读取、显示和写入图像

⒈目的通过本案例,掌握在winform框架下基于OpenCvSharp读取、显示和写入图像的方法。⒉软件Visual Studio 2022⒊界面设计控件包括:button。⒋安装NuGet程序包⑴OpenCvSharp4⑵OpenCvSharp4.runtime.win⑶OpenCvSharp4.Extensions⒌imread()读取图像cv.i…

2026/7/23 21:02:47 阅读更多 →
宇视VM新BS拼控轮巡配置指导(B3359)

宇视VM新BS拼控轮巡配置指导(B3359)

宇视VM新BS拼控轮巡配置指导(B3359)一.功能介绍在电视墙场景的多个窗口中轮流播放摄像机实况。摄像机与窗口的布局自动匹配,不固定。二.配置步骤1、保存场景进入VM【电视墙】,先开窗,业务必须要…

2026/7/23 21:02:47 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/7/23 17:49:47 阅读更多 →

月新闻