| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 34 | 32 | ||
| entry/ | 06-May-2025 | - | 965 | 859 | ||
| hvigor/ | 06-May-2025 | - | 37 | 36 | ||
| screenshot/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README.md | D | 06-May-2025 | 2.8 KiB | 69 | 49 | |
| build-profile.json5 | D | 06-May-2025 | 1.3 KiB | 56 | 56 | |
| code-linter.json5 | D | 06-May-2025 | 957 | 34 | 34 | |
| hvigorfile.ts | D | 06-May-2025 | 842 | 21 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 808 | 25 | 24 | |
| ohosTest.md | D | 06-May-2025 | 751 | 12 | 8 |
README.md
1# 使用Drawing实现图形绘制与显示(ArkTS) 2 3## 介绍 4 5本工程主要实现了对以下指南文档中[访问控制概述](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/AccessToken/access-token-overview.md)示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。 6 7## 效果预览 8 9|  |  |  | 10| ------------------------ | ------------------------ | ------------------------ | 11 12使用说明: 131. 该工程可以选择在模拟器和开发板上运行。 142. 点击构建,即可在生成的应用中点击对应的按钮进行图案的绘制。 153. 进入”DocsSample/Drawing/ArkTSDrawing/entry/src/ohosTest/ets/test/DrawingAbility.test.ets“文件,可以对本项目进行UI的自动化测试。 16 17## 工程目录 18 19``` 20ArkTSDrawing 21├──entry/src/main 22│ ├──ets // ets代码区 23| | ├──common 24| | | ├──logger.ts // 日志类 25| | | ├──MyNodeController.ets // 节点控制类 26| | | ├──PathRenderNode.ets // 绘制路径类 27| | | ├──RectRenderNode.ets // 绘制矩形类 28| | | └──TextRenderNode.ets // 绘制文本类 29│ │ ├──entryability 30| | | └──EntryAbility.ets // 程序入口类 31| | ├──entrybackupability 32│ │ │ └──EntryBackupAbility.ets 33│ │ └──pages // 页面文件 34│ │ └──Index.ets // 主界面 35| ├──resources // 资源文件目录 36``` 37 38## 具体实现 39 401. 创建`NodeController`的子类`MyNodeController`,并在其中定义创建`FrameNode`的函数。`NodeController`定义了节点容器的控制器,控制着容器里在生命周期中的节点。`FrameNode`定义了节点的基本类型,并包含一个`RenderNode`。 412. 创建`RenderNode`子类`PathRenderNode`、`RectRenderNode`、`TextRenderNode`并在其中定义绘图函数。`RenderNode`中包含树结构的操作,以及对绘制属性的操作,其中`draw`方法会在`RenderNode`进行绘制时被调用。使用每个子类的`draw`方法可以实现五角星、举行和文本文字的绘制。 42 43## 相关权限 44 45无。 46 47## 依赖 48 49不涉及。 50 51## 约束和限制 52 531. 本示例支持标准系统上运行,支持设备:仅在手机上可以正确显示。 542. 本示例支持API14版本SDK,版本号:5.0.2.57。 553. 本示例已支持使DevEco Studio 5.0.1 Release (构建版本:5.0.5.306,构建 2024年12月6日)编译运行。 56 57## 下载 58 59如需单独下载本工程,执行如下命令: 60 61``` 62git init 63git config core.sparsecheckout true 64echo code/DocsSample/Drawing/ArkTSDrawing/ > .git/info/sparse-checkout 65git remote add origin https://gitee.com/openharmony/applications_app_samples.git 66git pull origin master 67``` 68 69