| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 22-Oct-2025 | - | 42 | 39 | ||
| entry/ | 22-Oct-2025 | - | 833 | 752 | ||
| hvigor/ | 22-Oct-2025 | - | 38 | 36 | ||
| screenshots/ | 22-Oct-2025 | - | ||||
| .gitignore | D | 22-Oct-2025 | 133 | 12 | 12 | |
| README.md | D | 22-Oct-2025 | 3.2 KiB | 62 | 44 | |
| build-profile.json5 | D | 22-Oct-2025 | 1.1 KiB | 50 | 49 | |
| code-linter.json5 | D | 22-Oct-2025 | 1.4 KiB | 47 | 46 | |
| hvigorfile.ts | D | 22-Oct-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 22-Oct-2025 | 809 | 26 | 24 | |
| ohosTest.md | D | 22-Oct-2025 | 1.1 KiB | 8 | 7 |
README.md
1# 文本绘制与显示中多样式文本绘制与显示接口使用说明(ArkTS) 2 3## 介绍 4 5本工程主要实现了对以下指南文档中 [复杂文本绘制与显示](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/graphics/complex-text-arkts.md) 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源,以及除基本文字、排版属性之外,针对应用中不同文本的设计,开发者可能需要设置使用不同的绘制样式或能力,以凸显对应文本的独特表现或风格,此时可以结合使用多种绘制样式进行文本的渲染。 6 7## 效果预览 8 9|  |  |  |  | 10|------------------------------------------------------|----------------------------------------------|-----------------------------|-----------------------------| 11 12**使用方法:** 13 141. 该工程可以选择在模拟器和开发板上运行。 152. 点击构建,即可在生成的应用中点击对应的按钮进行图案的绘制。 163. 进入”DocsSample/graphic/ArkGraphics2D/ComplexTextDrawing/entry/src/ohosTest/ets/test/Ability.test.ets“文件,可以对本项目进行UI的自动化测试。 17 18## 工程目录 19 20``` 21ArkTSDrawing 22├──entry/src/main 23│ ├──ets // ets代码区 24│ │ ├──entryability 25| | | └──EntryAbility.ets // 程序入口类 26| | ├──entrybackupability 27│ │ │ └──EntryBackupAbility.ets 28│ │ └──pages // 页面文件 29│ │ └──Index.ets // 主界面 30| ├──resources // 资源文件目录 31``` 32 33## 具体实现 34 351. 利用Native XComponent来获取NativeWindow实例、获取布局/事件信息、注册事件回调并通过Drawing API实现在页面上绘制形状。 362. 通过在IDE中创建Native ArkTS 工程,在ts代码中定义对外接口为drawText,在js侧调用该接口可在页面上绘制出“1/2 1/3 1/4”阴影文字。 373. 在XComponent的OnSurfaceCreated回调中获取NativeWindow实例并初始化NativeWindow环境。调用Decoration在文本上方、下方或中间添加的装饰性线条,当前支持上划线、下划线、删除线,FontFeature用于增强文本的表现力,使其更符合设计和阅读需求,FontVariation实现文本渲染绘制时的平滑过渡,TextShadow用于提升文本的视觉吸引力或增强可读性,尤其是在色彩对比度较低的场景下。 38## 相关权限 39 40不涉及。 41 42## 依赖 43 44不涉及。 45 46## 约束与限制 47 481. 本示例支持标准系统上运行,支持设备:RK3568。 492. 本示例支持API14版本SDK,版本号:5.0.2.123。 503. 本示例已支持DevEco Studio 5.0.2 Release (构建版本:5.0.7.210,构建 2025年5月6日)编译运行。 51 52## 下载 53 54如需单独下载本工程,执行如下命令: 55 56``` 57git init 58git config core.sparsecheckout true 59echo code/DocsSample/graphic/ArkGraphics2D/ComplexTextDrawing/ > .git/info/sparse-checkout 60git remote add origin https://gitee.com/openharmony/applications_app_samples.git 61git pull origin master 62```