羽球联盟 HarmonyOS NEXT 实战系列 (06/20):主题Token、Resource颜色与深色模式准备

发布时间:2026/7/12 11:07:33

羽球联盟 HarmonyOS NEXT 实战系列 (06/20):主题Token、Resource颜色与深色模式准备
文章导读颜色、字号、间距、圆角集中在 主题定义页面只引用语义 token。Resource 颜色通过 base 与 dark 资源自动适配深浅色。少量字符串色保留给 badge/tag 等数据模型字段。页面效果个人中心、首页卡片和底部导航应使用同一套主色、背景色、文字层级和圆角节奏切换深浅色后仍保持可读。实战拆解一个资讯应用页面很多如果每个页面都直接写 #0F7B5F、16、8视觉会很快失控。羽球联盟把主题拆成 AppColors 和 AppSizes页面只关心语义主色、正文色、页面背景、卡片背景、分割线、常用字号和间距。这里最值得写清楚的是 Resource 颜色和字符串色的边界。会跟随深色模式变化的页面背景、文本、主色使用 $r 引用资源作为数据标签传入的 tagColor 仍保留 string因为 Tag 组件可能需要拼接或从模型读取字符串色。关键代码export class AppColors { static readonly primary: Resource $r(app.color.primary); static readonly textPrimary: Resource $r(app.color.text_primary); static readonly bgPage: Resource $r(app.color.bg_page); } export class AppSizes { static readonly s16: number 16; static readonly r8: number 8; }主题 token 把视觉值收束到语义层页面代码读到的是“主色”和“页面背景”不是一堆散落数字。取舍分析这里的取舍可以从两个方向看一边要让当前页面足够直观用户打开后能马上理解入口、状态和反馈另一边要给后续迭代留下余量避免把数据处理、视觉样式和跳转逻辑全部写死在同一个地方。颜色、字号、间距和圆角应先有语义再进入页面。 会随系统外观变化的颜色用资源承载标签色等数据色保持字符串更灵活。设计落点颜色、字号、间距和圆角应先有语义再进入页面。会随系统外观变化的颜色用资源承载标签色等数据色保持字符串更灵活。深色模式不是最后补丁而是页面持续使用 token 后自然生效。易踩坑不要把 Resource 和 string 颜色混用到难以追踪先定义语义边界。不要在卡片内部再发明局部颜色体系除非它是可复用组件的明确变体。验证方式切换系统深浅色检查背景、正文和分割线可读性。观察首页、详情页、个人中心是否使用一致间距。修改主色后确认底部导航和按钮同步变化。小结主题Token、Resource颜色与深色模式准备 的价值在于把页面现象和工程边界放在一起看用户看到的是流畅的入口、列表、详情和反馈开发者真正维护的是状态、模型和组件之间的关系。这个思路迁移到其他 ArkTS 项目时比单独记某个 API 更可靠。

相关新闻

Traduccion项目完全指南:如何参与You Don‘t Know JS西班牙语翻译

Traduccion项目完全指南:如何参与You Don‘t Know JS西班牙语翻译

2026/7/10 4:07:43

Traduccion项目完全指南:如何参与You Dont Know JS西班牙语翻译 【免费下载链接】Traduccion Traduccin de la serie de JavaScript. YDKJS 项目地址: https://gitcode.com/gh_mirrors/tr/Traduccion Traduccion项目是GitHub加速计划中的重要组成部分&#x…

cn2an核心功能详解:从基础转化到日期、分数的完整支持

cn2an核心功能详解:从基础转化到日期、分数的完整支持

2026/7/11 22:58:15

cn2an核心功能详解:从基础转化到日期、分数的完整支持 【免费下载链接】cn2an 📦 快速转化「中文数字」和「阿拉伯数字」~ (最新特性:分数,日期、温度等转化) 项目地址: https://gitcode.com/gh_mirrors/…

MATHC快速开始教程:5步搭建你的第一个3D数学运算环境

MATHC快速开始教程:5步搭建你的第一个3D数学运算环境

2026/7/11 14:15:00

MATHC快速开始教程:5步搭建你的第一个3D数学运算环境 【免费下载链接】mathc Pure C math library for 2D and 3D programming 项目地址: https://gitcode.com/gh_mirrors/ma/mathc MATHC是一个轻量级纯C语言数学库,专为2D和3D编程设计。它提供了…

5大实战技巧揭秘:SMU Debug Tool如何深度掌控AMD Ryzen硬件参数

5大实战技巧揭秘:SMU Debug Tool如何深度掌控AMD Ryzen硬件参数

2026/7/12 11:04:32

5大实战技巧揭秘:SMU Debug Tool如何深度掌控AMD Ryzen硬件参数 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: h…

基于TM4C129与PAM8904的可编程音频警报系统设计

基于TM4C129与PAM8904的可编程音频警报系统设计

2026/7/12 11:04:32

1. 项目背景与核心需求在工业控制、智能家居和医疗设备等领域,可靠的事件通知系统是保障安全运行的关键组件。传统蜂鸣器方案存在音量固定、音调单一的问题,而基于TM4C129ENCPDT微控制器与PAM8904音频功放的组合,可以实现可编程的多级音频警报…

STM32L073RZ与PAM8904构建低功耗智能音频报警系统

STM32L073RZ与PAM8904构建低功耗智能音频报警系统

2026/7/12 11:04:32

1. 项目背景与核心需求在工业控制、智能家居和物联网设备中,可靠的事件通知系统是保障设备安全运行的关键组件。传统方案常采用简单的无源蜂鸣器或继电器驱动喇叭,存在功耗高、音效单一、音量不可调等问题。基于STM32L073RZ微控制器与PAM8904音频放大器的…

TS2007FC与TM4C1299KCZAD音频系统设计与优化

TS2007FC与TM4C1299KCZAD音频系统设计与优化

2026/7/12 11:04:32

1. 音频系统设计中的核心组件解析 在专业音频设备开发领域,TS2007FC音频放大器与TM4C1299KCZAD微控制器的组合堪称黄金搭档。这套方案能够为从消费级到工业级的各类音频应用提供卓越的性能支持。 TS2007FC是一款2x20W立体声D类音频功率放大器,采用高效能…

魔兽争霸III终极优化工具:3步快速提升游戏体验的专业指南

魔兽争霸III终极优化工具:3步快速提升游戏体验的专业指南

2026/7/12 11:04:32

魔兽争霸III终极优化工具:3步快速提升游戏体验的专业指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典魔兽争霸III在现代电脑…

蓝牙5.4 LE Audio与CEC1302音频处理器的无线音频方案解析

蓝牙5.4 LE Audio与CEC1302音频处理器的无线音频方案解析

2026/7/12 10:54:31

1. 项目背景与核心组件解析在无线音频传输领域,Bluetooth 5.4标准带来了革命性的改进,特别是LE Audio(低功耗音频)的引入彻底改变了传统蓝牙音频的工作模式。IDC777-1作为一款高度集成的蓝牙音频模块,与CEC1302音频处理…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践

2026/7/12 0:03:42

Unity游戏文本翻译架构深度解析:XUnity.AutoTranslator的技术实现与工程实践 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator作为Unity游戏社区中最成熟的文本翻译解决方…

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持

2026/7/12 0:03:42

openEuler Raspberry Pi Kernel设备驱动开发指南:为树莓派硬件添加支持 【免费下载链接】raspberrypi-kernel It provides openEuler kernel source for Raspberry Pi 项目地址: https://gitcode.com/openeuler/raspberrypi-kernel 前往项目官网免费下载&…

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧

2026/7/12 0:03:42

openEuler系统集成测试实战:基于smoke-test套件的环境验证技巧 【免费下载链接】integration-test The repo contains test suits for system integration test 项目地址: https://gitcode.com/openeuler/integration-test 前往项目官网免费下载:…