ArkUI使用NODE IMAGE指南文档示例
介绍
本示例通过使用ArkUI指南文档中各场景的开发示例,展示在工程中,帮助开发者更好的理解并合理使用ArkUI提供的通用类型接口。接口详情请参考native_node.h。
使用说明
-
在主界面,可以点击不同的按钮,查看不同的示例。
-
点击多线程创建组件,跳转查看多线程创建组件示例。
-
点击自定义属性测试,跳转查看组件使用自定义属性的示例。
-
点击懒加载页面,查看懒加载页面示例。
-
点击设置capi侧主窗口Context,查看如何将ArkTS的上下文传到capi。
-
点击“展示自定义绘制页面”,查看绘画效果。具体实现请参考自定义绘制。
-
点击"展示自定义绘制容器页面",查看容器效果。具体实现请参考自定义绘制。
-
点击ShowNativeUIMessagePage,查看前景绘制实现消息蒙层效果。具体实现请参考自定义绘制。
效果预览
| 首页 | 应用页面 |
|---|---|
![]() |
|
![]() |
|
![]() |
|
![]() |
具体实现
-
本示例实现了多线程创建组件的功能,通过调用CAPI抛线程创建的接口,将组件创建操作放到其它线程执行,有效提高UI效率。
-
实现了组件存储自定义属性的能力,开发者可以通过该能力,赋予组件一些特殊的字段接口,用以实现即时接口调用。
-
实现了CAPI侧懒加载实现列表的能力,可复用已生成的列表项,减少创建/销毁的性能消耗。
-
自定义绘制实现:自定义节点的创建,通过ArkUI_NativeNodeAPI_1的create接口,传入ARKUI_NODE_CUSTOM创建自定义节点。在事件注册过程中,需将事件注册为绘制事件,通过查阅ArkUI_NodeCustomEventType枚举值获取事件类型及含义。 创建自定义节点:通过ArkUI_NativeNodeAPI_1的create接口,传入ARKUI_NODE_CUSTOM创建自定义节点。在事件注册时,将自定义节点、事件类型、事件ID和UserData作为参数传入。在回调函数中,通过获取自定义事件的事件类型、事件ID和UserData来执行不同的逻辑。
工程目录
entry/src/main/cpp
|---CMakeLists.txt // 编译脚本
|---napi_init.cpp // 实现创建、设置、获取、重置组件属性
|---manager.cpp // 管理组件节点
|---NativeEntry.cpp // 多线程节点管理与自定义组件实现
|---NativeEntry.h // 核心管理类声明
|---types
|---Index.d.ts // napi对外接口定义
entry/src/main/ets/
|---entryability
|---pages
| | |drawPage
---DrawPage.ets // 自定义绘制页面
| | |nativeUI
---NativeUI.ets // 自定义绘制容器页面
---NativeUIMessagePage.ets // 通过前景绘制实现消息蒙层
| |---customproperty.ets // 自定义属性用例demo
| |---customproperty.ets // 自定义属性用例demo
| |---entry.ets // 多线程创建组件demo
| |---index.ets // 应用主页面
| |---nodeadapter.ets // 懒加载列表demo
相关权限
不涉及。
依赖
不涉及。
约束与限制
1.本示例支持标准系统上运行, 支持设备:华为手机。
2.本示例为Stage模型,支持API22版本SDK,版本号:6.0.2.56,镜像版本号:OpenHarmony_6.0.2.56。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo ArkUISample/NativeNodeSample > .git/info/sparse-checkout
git remote add origin https://gitcode.com/harmonyos_samples/guide-snippets.git
git pull origin master



