Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d92aac8c
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d92aac8c
编写于
3月 16, 2022
作者:
Z
zzzsilenc
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
basic_component_xcomponent.md
Signed-off-by:
N
zzzsilenc
<
1617088598@qq.com
>
上级
b3a0c40c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
118 addition
and
0 deletion
+118
-0
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
+1
-0
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
...-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
+116
-0
zh-cn/application-dev/reference/arkui-ts/ts-basic-components.md
...application-dev/reference/arkui-ts/ts-basic-components.md
+1
-0
未找到文件。
zh-cn/application-dev/reference/arkui-ts/Readme-CN.md
浏览文件 @
d92aac8c
...
@@ -73,6 +73,7 @@
...
@@ -73,6 +73,7 @@
-
[
Toggle
](
ts-basic-components-toggle.md
)
-
[
Toggle
](
ts-basic-components-toggle.md
)
-
[
TextClock
](
ts-basic-components-textclock.md
)
-
[
TextClock
](
ts-basic-components-textclock.md
)
-
[
Web
](
ts-basic-components-web.md
)
-
[
Web
](
ts-basic-components-web.md
)
-
[
Xcomponent
](
ts-basic-components-xcomponent.md
)
-
容器组件
-
容器组件
-
[
AlphabetIndexer
](
ts-container-alphabet-indexer.md
)
-
[
AlphabetIndexer
](
ts-container-alphabet-indexer.md
)
-
[
Badge
](
ts-container-badge.md
)
-
[
Badge
](
ts-container-badge.md
)
...
...
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
0 → 100644
浏览文件 @
d92aac8c
# XComponent
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 该组件从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
可用于EGL/OpenGLES和媒体数据写入,并显示在XComponent组件。
## 权限列表
无
## 子组件
不支持。
## 接口
XComponent
\(
value: {id: string, type: string, libraryname?: string, controller?: XComponentController}
\)
-
参数
| 名称 | 参数类型 | 必填 | 描述 |
| ----------- | --------------------------------------------- | ---- | ------------------------------------------------------------ |
| id | string | 是 | 组件的唯一标识,支持最大的字符串长度128。 |
| type | string | 是 | 用于指定XComponent组件类型,可选值为:
<br/>
-surface:组件内容单独送显,直接合成到屏幕。
<br/>
-component:组件内容与其他组件合成后统一送显。
<br/>
component类型在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| libraryname | string | 否 | 应用Native层编译输出动态库名称。 |
| controller |
[
XComponentController
](
#XComponentController
)
| 否 | 给组件绑定一个控制器,通过控制器调用组件方法。 |
## 事件
| 名称 | 功能描述 |
| ------------------------------- | ------------------------ |
| onLoad(context?: object) => void | 插件加载完成时回调事件。 |
| onDestroy() => void | 插件卸载完成时回调事件。 |
## XComponentController
xcomponent 组件的控制器,可以将此对象绑定至XComponent组件,然后通过控制器带调用组件方法。
### 创建对象
```
xcomponentController: XComponentController = new XComponentController()
```
### getXComponentSurfaceId
getXComponentSurfaceId(): string
获取XComponent对应Surface的ID,供@ohos接口使用,比如camera相关接口。
-
返回值
| 类型 | 描述 |
| ------ | --------------------------- |
| string | XComponent持有Surface的ID。 |
### setXComponentSurfaceSize
setXComponentSurfaceSize(value: {surfaceWidth: number, surfaceHeight: number}): void
设置XComponent持有Surface的宽度和高度。
-
参数
| 参数名 | 参数类型 | 必填 | 默认值 | 描述 |
| ------------- | -------- | ---- | ------ | ----------------------------- |
| surfaceWidth | number | 是 | - | XComponent持有Surface的宽度。 |
| surfaceHeight | number | 是 | - | XComponent持有Surface的高度。 |
### getXComponentContext
getXComponentContext(): Object
获取XComponent实例对象的context。
-
返回值
| 类型 | 描述 |
| ------ | ------------------------------------------------------------ |
| Object | 获取XComponent实例对象的context,context包含的具体接口方法由开发者自定义。 |
## 示例
提供surface类型XComponent,支持相机预览等能力。
```
import camera from '@ohos.multimedia.camera';
@Entry
@Component
struct PreviewArea {
private surfaceId : string =''
xcomponentController: XComponentController = new XComponentController()
build() {
Row() {
XComponent({
id: 'xcomponent',
type: 'surface',
controller: this.xcomponentController
})
.onLoad(() => {
this.xcomponentController.setXComponentSurfaceSize({surfaceWidth:1920,surfaceHeight:1080});
this.surfaceId = this.xcomponentController.getXComponentSurfaceId();
camera.createPreviewOutput(this.surfaceId).then((previewOutput) => {
console.log('Promise returned with the PreviewOutput instance');
})
})
.width('640px')
.height('480px')
}
.backgroundColor(Color.Black)
.position({x: 0, y: 48})
}
}
```
\ No newline at end of file
zh-cn/application-dev/reference/arkui-ts/ts-basic-components.md
浏览文件 @
d92aac8c
...
@@ -39,3 +39,4 @@
...
@@ -39,3 +39,4 @@
-
**[Select](ts-basic-components-select.md)**
-
**[Select](ts-basic-components-select.md)**
-
**[TextClock](ts-basic-components-textClock.md)**
-
**[TextClock](ts-basic-components-textClock.md)**
-
**[Xcomponent](ts-basic-components-xcomponent.md)**
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录