1# @ohos.arkui.node 2 3Node将自定义节点的二级模块API组织在一起,方便开发者进行导出使用。 4 5* [BuilderNode](./js-apis-arkui-builderNode.md#buildernode)模块:提供能够挂载原生组件的自定义节点BuilderNode。不建议将BuilderNode作为子节点挂载到其他自定义节点上。 6 7* [FrameNode](./js-apis-arkui-frameNode.md#framenode)模块:提供自定义节点FrameNode,表示组件树的实体节点。[NodeController](./js-apis-arkui-nodeController.md#nodecontroller)可通过[BuilderNode](./js-apis-arkui-builderNode.md#buildernode)持有的FrameNode将其挂载到[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)上,也可通过FrameNode获取[RenderNode](./js-apis-arkui-renderNode.md#rendernode),挂载到其他FrameNode上。 8 9* [NodeController](./js-apis-arkui-nodeController.md#nodecontroller)模块:提供NodeController用于实现自定义节点的创建、显示、更新等操作,并负责将自定义节点挂载到[NodeContainer](arkui-ts/ts-basic-components-nodecontainer.md#nodecontainer)上。 10 11* [Graphics](./js-apis-arkui-graphics.md#graphics)模块:提供自定义节点相关属性设置的定义。 12 13* [RenderNode](./js-apis-arkui-renderNode.md#rendernode)模块:提供自绘制渲染节点RenderNode,支持开发者通过C API进行开发,完成自定义绘制需求。 14 15* [XComponentNode](./js-apis-arkui-xcomponentNode.md#xcomponentnode)模块:提供XComponent节点XComponentNode,表示组件树中的XComponent组件,用于EGL/OpenGLES和媒体数据写入,并支持动态修改节点渲染类型。 16 17> **说明:** 18> 19> 本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 20> 21> 当前不支持在预览器中使用自定义节点。 22 23## UIContext获取方法 241.使用ohos.window中的[getUIContext()](./js-apis-window.md#getuicontext10)方法获取UIContext实例。 25 262.可以通过自定义组件内置方法[getUIContext()](arkui-ts/ts-custom-component-api.md#getuicontext)获取。 27 283.可以在[NodeController](./js-apis-arkui-nodeController.md#nodecontroller)的[makeNode](./js-apis-arkui-nodeController.md#makenode)回调方法中获取。 29 30## 导入模块 31 32```ts 33import { 34 BuilderNode, 35 NodeController, 36 FrameNode, 37 RenderNode, 38 XComponentNode, 39 NodeRenderType, 40 RenderOptions, 41 DrawContext, 42 Size, 43 Offset, 44 Position, 45 Pivot, 46 Scale, 47 Translation, 48 Matrix4, 49 Rotation, 50 Frame 51} from '@kit.ArkUI'; 52``` 53