harmony 鸿蒙NodeContent
NodeContent
NodeContent是ArkUI提供的ContentSlot的管理器。
说明:
本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import { NodeContent } from '@kit.ArkUI';
NodeContent
constructor
constructor()
节点内容的实体封装。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
示例:
import { nativeNode } from 'libNativeNode.so'; // 开发者自己实现的so
import { NodeContent } from '@kit.ArkUI';
@Component
struct Parent {
private nodeContent: Content = new NodeContent();
aboutToAppear() {
// 通过C-API创建节点,并添加到管理器nodeContent上
nativeNode.createNativeNode(this.nodeContent);
}
build() {
Column() {
// 显示nodeContent管理器里存放的Native侧的组件
ContentSlot(this.nodeContent)
}
}
}
addFrameNode12+
addFrameNode(node: FrameNode): void
根据参数将FrameNode添加到NodeContent中。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
node | FrameNode | 是 | 需要添加的FrameNode。 |
removeFrameNode12+
removeFrameNode(node: FrameNode): void
根据参数将FrameNode从NodeContent中删除。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.ArkUI.ArkUI.Full
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
node | FrameNode | 是 | 需要删除的FrameNode。 |
示例:
添加删除NodeContent中的FrameNode节点。
// xxx.ets
import { NodeContent, typeNode } from '@kit.ArkUI';
class NodeContentCtrl {
content: NodeContent;
textNode: Array<typeNode.Text> = new Array();
uiContext: UIContext;
width: number;
constructor(uiContext: UIContext) {
this.content = new NodeContent();
this.uiContext = uiContext;
this.width = Infinity;
}
AddNode() {
let node = typeNode.createNode(this.uiContext, "Text");
node.initialize("ContentText:" + this.textNode.length).fontSize(20);
this.textNode.push(node);
this.content.addFrameNode(node);
}
RemoveNode() {
let node = this.textNode.pop();
this.content.removeFrameNode(node);
}
RemoveFront() {
let node = this.textNode.shift();
this.content.removeFrameNode(node);
}
GetContent(): NodeContent {
return this.content;
}
}
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
controller = new NodeContentCtrl(this.getUIContext());
build() {
Row() {
Column() {
ContentSlot(this.controller.GetContent())
Button("AddToSlot")
.onClick(() => {
this.controller.AddNode();
})
Button("RemoveBack")
.onClick(() => {
this.controller.RemoveNode();
})
Button("RemoveFront")
.onClick(() => {
this.controller.RemoveFront();
})
}
.width('100%')
}
.height('100%')
}
}
你可能感兴趣的鸿蒙文章
harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent
harmony 鸿蒙ARKUI_TextPickerRangeContent
harmony 鸿蒙ArkUI_AnimateCompleteCallback
harmony 鸿蒙ArkUI_ContextCallback
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦