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