HarmonyOS 5.0.0 或以上:实现富文本展示与超链接跳转实战
·
一、功能简介
本篇将讲解如何在 HarmonyOS 中展示富文本内容,包括文字高亮、不同字体样式、超链接跳转,适用于文章阅读页、协议说明、通知展示等场景。
二、页面结构
entry/src/main/ets/pages/RichTextDemo.ets
三、代码演示
@Entry
@Component
struct RichTextDemo {
build() {
Column() {
Text('《用户协议与隐私政策》')
.fontSize(22)
.fontWeight(FontWeight.Bold)
.margin({ bottom: 20 })
Text('欢迎使用本产品!请阅读并遵守 ')
.fontSize(18)
.fontColor(Color.Black)
// 富文本组合展示
Row() {
Text('《用户协议》')
.fontColor(Color.Blue)
.fontSize(18)
.decoration({ type: TextDecorationType.Underline })
.onClick(() => {
router.pushUrl({ url: 'pages/UserProtocol' }) // 假设已注册页面
})
Text(' 和 ')
.fontSize(18)
Text('《隐私政策》')
.fontColor(Color.Blue)
.fontSize(18)
.decoration({ type: TextDecorationType.Underline })
.onClick(() => {
router.pushUrl({ url: 'pages/PrivacyPolicy' })
})
}
Text('以了解详细信息。')
.fontSize(18)
.margin({ top: 10 })
// 模拟正文内容
Text('我们将严格保护您的信息,除法律规定外,绝不将您的数据泄露给任何第三方。')
.fontSize(16)
.fontColor(Color.Gray)
.margin({ top: 20 })
}
.width('100%')
.padding(20)
}
}
四、运行效果
页面展示如下:
《用户协议与隐私政策》
欢迎使用本产品!请阅读并遵守 《用户协议》 和 《隐私政策》 以了解详细信息。
我们将严格保护您的信息,除法律规定外,绝不将您的数据泄露给任何第三方。
- 蓝色下划线文字可点击跳转到协议详情页面;
- 不同段落有不同字体和颜色样式。
五、常见易错点与解决方法
| 易错点 | 表现 | 原因 | 解决方案 |
|---|---|---|---|
| 无法跳转页面 | 点击无反应 | 页面未注册或路径错误 | 检查 router.pushUrl() 中的路径是否在 app.json5 中注册 |
| 字体样式无变化 | 全部黑色无下划线 | 未设置 .fontColor() / .decoration() | 明确设置每段 Text 样式 |
| 富文本排版错乱 | 换行混乱或无法横排 | 使用 Row() 分段展示 | 建议使用 Row() + 多段 Text() 组合实现内联富文本 |
| 超链接不生效 | 路由报错 | 页面名称拼写错误 | pages/xxx 名称需对应文件路径及注册路径一致 |
六、拓展建议
- 可封装
<RichTextLink text="《协议》" target="pages/xxx" />组件; - 可使用
Markdown 渲染器(后续章节介绍)支持更复杂富文本; - 可为链接增加点击反馈/弹窗确认等 UX 强化操作。
更多推荐



所有评论(0)