Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8a68664f
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看板
提交
8a68664f
编写于
12月 06, 2022
作者:
S
sunbees
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add xcomponent as container
Signed-off-by:
N
sunbees
<
sunqinjia@huawei.com
>
上级
8020447f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
8 deletion
+28
-8
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
...-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
+28
-8
未找到文件。
zh-cn/application-dev/reference/arkui-ts/ts-basic-components-xcomponent.md
浏览文件 @
8a68664f
...
...
@@ -10,8 +10,8 @@
## 子组件
不支持
。
构造参数type为"surface"时不支持。
\
从API version 9开始,构造参数type为"component"时可以包含子组件
。
## 接口
...
...
@@ -22,12 +22,32 @@
| 参数名 | 参数类型 | 必填 | 描述 |
| --------- | ------ | ---- | ----- |
| id | string | 是 | 组件的唯一标识,支持最大的字符串长度128。 |
| type | string | 是 | 用于指定XComponent组件类型,可选值为:
<br/>
-surface:组件内容单独送显,直接合成到屏幕。
<br/>
-component:组件内容与其他组件合成后统一送显。 |
| libraryname | string | 否 | 应用Native层编译输出动态库名称。 |
| controller |
[
XComponentcontroller
](
#xcomponentcontroller
)
| 否 | 给组件绑定一个控制器,通过控制器调用组件方法。 |
| type | string | 是 | 用于指定XComponent组件类型,可选值为:
<br/>
-"surface":用于EGL/OpenGLES和媒体数据写入,组件内容单独送显,直接合成到屏幕。
<br/>
-"component"
<sup>
9+
</sup>
:XComponent将变成一个容器组件,并可在其中执行非UI逻辑以动态加载显示内容。 |
| libraryname | string | 否 | 应用Native层编译输出动态库名称,仅XComponent类型为"surface"时有效。 |
| controller |
[
XComponentcontroller
](
#xcomponentcontroller
)
| 否 | 给组件绑定一个控制器,通过控制器调用组件方法,仅XComponent类型为"surface"时有效。 |
> **说明:**
>
> type为"component"时,XComponent作为容器,子组件沿垂直方向布局:
>
> - 垂直方向上对齐格式:[FlexAlign](ts-appendix-enums.md#flexalign).Start
> - 水平方向上对齐格式:[FlexAlign](ts-appendix-enums.md#flexalign).Center
>
> 所有的事件响应均不支持。
>
> 布局方式更改和事件响应均可通过挂载子组件来设置。
>
> 内部所写的非UI逻辑需要封装在一个或多个函数内。
## 属性
-
XComponent显示的内容,可由开发者自定义绘制,通用属性不支持
[
背景设置
](
./ts-universal-attributes-background.md
)
、
[
透明度设置
](
./ts-universal-attributes-opacity.md
)
和
[
图像效果
](
./ts-universal-attributes-image-effect.md
)
。
-
type为"surface"时建议使用EGL/OpenGLES提供的接口设置相关内容。
-
type为"component"时建议使用挂载子组件的方式进行设置相关内容。
## 事件
仅type为"surface"时以下事件有效。不支持
[
通用事件和手势
](
./Readme-CN.md
)
。
### onLoad
onLoad(callback: (event?: object) => void )
...
...
@@ -60,7 +80,7 @@ xcomponentController: XComponentController = new XComponentController()
getXComponentSurfaceId(): string
获取XComponent对应Surface的ID,供@ohos接口使用,
比如camera相关接口
。
获取XComponent对应Surface的ID,供@ohos接口使用,
使用方式可参考
[
相机管理
](
../apis/js-apis-camera.md
)
,仅XComponent类型为"surface"时有效
。
**返回值:**
...
...
@@ -74,7 +94,7 @@ getXComponentSurfaceId(): string
setXComponentSurfaceSize(value: {surfaceWidth: number, surfaceHeight: number}): void
设置XComponent持有Surface的宽度和高度。
设置XComponent持有Surface的宽度和高度
,仅XComponent类型为"surface"时有效
。
**参数:**
...
...
@@ -89,7 +109,7 @@ setXComponentSurfaceSize(value: {surfaceWidth: number, surfaceHeight: number}):
getXComponentContext(): Object
获取XComponent实例对象的context。
获取XComponent实例对象的context
,仅XComponent类型为"surface"时有效
。
**返回值:**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录