日记本横线纸张效果:serif 字体 + 行高 + 背景色
前言在“海风日记“的日记详情页中正文区域使用了纸张感的设计象牙色背景、serif 衬线字体、36vp 行高模拟了传统日记本的横线纸张效果。本文将从源码出发深入讲解纸张效果的实现以及字体选择、行高控制和背景色搭配。一、纸张效果实现1.1 源码// 正文日记本横线背景模拟 Text(this.diary.content) .width(100%) .fontSize(16) .fontColor(COLOR_TEXT_MAIN) .lineHeight(36) // 大行高模拟横线间距 .fontFamily(serif) // 衬线字体 .padding({ left: PAGE_PADDING 4, right: PAGE_PADDING, top: 8, bottom: 8 }) // 底部签名装饰 Column({ space: 8 }) { Divider().color(rgba(200,149,106,0.20)) Row({ space: 8 }) { Text(— 海风日记).fontSize(13).fontColor(COLOR_AMBER).fontStyle(FontStyle.Italic) Blank() Text(this.diary.date).fontSize(12).fontColor(COLOR_TEXT_HINT) } }1.2 纸张背景色export const COLOR_PAPER_BG #FFF9F0 // 象牙色背景二、字体选择2.1 fontFamily.fontFamily(serif) // 衬线字体fontFamily支持多种字体值说明效果serif衬线字体经典、正式适合阅读sans-serif无衬线字体现代、简洁monospace等宽字体代码风格HarmonyOS Sans鸿蒙系统字体默认字体2.2 正文字体设置// 详情页衬线字体 Text(this.diary.content) .fontFamily(serif) .lineHeight(36) // 写日记页默认字体 TextArea({ placeholder: ..., text: this.diaryText }) .lineHeight(32)三、行高和间距3.1 行高的作用行高控制文字行与行之间的垂直间距.lineHeight(36) // 行高 36vp适合阅读3.2 签名装饰Column({ space: 8 }) { Divider().color(rgba(200,149,106,0.20)) // 浅琥珀色分隔线 Row({ space: 8 }) { Text(— 海风日记) .fontSize(13).fontColor(COLOR_AMBER) .fontStyle(FontStyle.Italic) // 斜体 Blank() Text(this.diary.date) .fontSize(12).fontColor(COLOR_TEXT_HINT) } } .margin({ top: 32, bottom: 40 })四、常见问题4.1 字体显示异常问题设置了fontFamily(serif)但字体没有变化。原因系统可能不支持该字体。解决方案使用系统支持的字体名称。总结本文通过“海风日记“的日记详情页深入讲解了纸张效果的实现纸张背景象牙色#FFF9F0衬线字体serif经典阅读体验行高控制36vp模拟横线间距签名装饰斜体签名 日期下一篇文章将深入讲解Scroll 水平滚动图片展示区敬请期待。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源Text 组件文档fontFamily 属性文档Divider 组件文档海风日记项目源码[HarmonyOS 开发者官网](https://atomgit.com/openharmony/docs开源鸿蒙跨平台社区

相关新闻

UE引擎FUObjectArray内存逆向解析与工业软件上云实践

UE引擎FUObjectArray内存逆向解析与工业软件上云实践

1. 项目概述:当UE逆向遇上工业软件上云最近在折腾一个基于Unreal Engine(UE)的工业仿真软件逆向项目,核心目标是想搞清楚它内部对象管理的“心脏”——FUObjectArray的内存结构。这玩意儿是UE引擎里所有UObject(游戏对…

2026/7/19 1:13:17阅读更多 →
你的企业正在 AI 搜索里“隐形”:GEO 时代,不做这步就输了

你的企业正在 AI 搜索里“隐形”:GEO 时代,不做这步就输了

AI搜索浪潮下,企业像海中小岛需要被“灯塔”标记才能被巨轮发现 你有没有发现,现在大家遇到问题,第一反应不再是打开百度,而是打开豆包、DeepSeek 问一句“这个牌子靠谱吗”“哪家做这个好”?用户获取信息的入口&#…

2026/7/19 1:13:17阅读更多 →
LangGraph+MCP构建概率化企业智能体:从确定性规则到可信推理

LangGraph+MCP构建概率化企业智能体:从确定性规则到可信推理

1. 项目概述:当企业智能不再依赖“确定性脚本”,而是学会像人一样权衡与试错你有没有遇到过这样的场景:销售团队每天要从几百条客户线索里手动筛选高意向客户,规则是“近30天访问过价格页下载过白皮书所在行业为制造业”&#xff…

2026/7/19 1:13:17阅读更多 →
基于Spark的在线广告推荐系统任务书

基于Spark的在线广告推荐系统任务书

一、项目概述 随着互联网流量生态的持续迭代,在线广告已成为互联网平台商业化运营的核心支撑,涵盖信息流广告、搜索广告、弹窗广告、短视频植入广告等多种形式。海量用户每日产生的广告点击、浏览、停留、跳过、转化、收藏等行为数据呈指数级增长&#x…

2026/7/19 3:31:30阅读更多 →
语音RAG实战:GPT-4o Realtime融合结构化与非结构化数据检索

语音RAG实战:GPT-4o Realtime融合结构化与非结构化数据检索

1. 项目概述:当语音交互遇上结构化与非结构化数据的双重检索我做语音AI系统落地已经七年了,从最早用ASR规则引擎拼凑客服机器人,到后来上KaldiRasa做多轮对话,再到这两年全面转向大模型驱动的实时语音交互。但真正让我在凌晨三点兴…

2026/7/19 3:31:30阅读更多 →
机械科普|一张图看懂自动穿丝如何解决人工值守痛点

机械科普|一张图看懂自动穿丝如何解决人工值守痛点

自动穿丝:中走丝加工从“拴人”到“放人”的分水岭中走丝线切割加工有个场景,从业者都很熟悉:一个操作工管着三四台机床,哪台断丝了就跑过去穿丝,穿完再跑下一台,一天下来微信步数轻松破两万。人不能离开&a…

2026/7/19 3:31:30阅读更多 →
基于大数据+SpringBoot的颈椎病预防交流与数据可视化分析平台任务书

基于大数据+SpringBoot的颈椎病预防交流与数据可视化分析平台任务书

一、项目概述 在数字化办公、线上学习、智能设备普及的当下,长期低头、久坐不动、不良体态已成为大众常态化生活状态,颈椎病发病群体逐渐呈现年轻化、普遍化、常态化趋势,学生、职场上班族、自媒体从业者成为颈椎病高发核心群体。目前大众对颈…

2026/7/19 3:31:30阅读更多 →
linux(1)指令

linux(1)指令

一. 前言:这是我第一次用csdn写博客,以前喜欢用笔记记录一下自己的学习内容,身边的人告诉我写博客也是一种记录学习的好方法,所以我决定试试。恰好我最近在学linux,不如就在此聊聊linux的一些心得。二. 关于linux中常见…

2026/7/19 3:31:30阅读更多 →
HarmonyOS技术精讲-Connectivity Kit:NFC——标签读写、卡模拟与点对点

HarmonyOS技术精讲-Connectivity Kit:NFC——标签读写、卡模拟与点对点

一个常见的NFC开发困惑 HarmonyOS NEXT 的 NFC API 从 API 10 开始逐渐稳定,但实际开发中很多开发者会发现:官方示例能跑通,但一旦集成到自己的应用里,就会出现标签读取失败、卡模拟不生效、点对点传输超时等问题。这并不是 API 本…

2026/7/19 3:29:30阅读更多 →
Go语言静态资源打包方案对比与实践指南

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

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

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

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

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

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

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

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

2026/7/19 0:01:04阅读更多 →
Go语言静态资源打包方案对比与实践指南

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

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

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

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

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

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

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

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

2026/7/19 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/18 22:49:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/18 14:49:24阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/18 18:49:35阅读更多 →