1# XComponent 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @zjsxstar--> 5<!--Designer: @sunbees--> 6<!--Tester: @liuli0427--> 7<!--Adviser: @HelloCrease--> 8 9提供用于图形绘制和媒体数据写入的Surface,XComponent负责将其嵌入到视图中,支持应用自定义Surface位置和大小。 10 11> **说明:** 12> 13> 该组件从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 14> 15> 当前页面仅包含本模块的系统接口,其他公开接口参见[XComponent](ts-basic-components-xcomponent.md)。 16 17## 接口 18 19### XComponentOptions<sup>12+</sup> 20 21定义XComponent的具体配置参数。 22 23**系统能力:** SystemCapability.ArkUI.ArkUI.Full 24 25**参数:** 26 27| 名称 | 类型 | 只读 | 可选 | 说明 | 28| -------- | -------- | -------- | -------- | -------- | 29| screenId<sup>17+</sup> | number | 否 | 是 | 给组件设置关联屏幕ID,通过此项可在组件上显示关联屏幕画面。 **系统接口:** 此接口为系统接口。| 30 31 > **说明:** 32 > 33 > 仅type为SURFACE时有效。 34 > 35 > 不支持[ArkUI NDK接口](../../../ui/ndk-build-ui-overview.md)创建的XComponent组件。 36 37## 属性 38 39### enableTransparentLayer<sup>18+</sup> 40 41enableTransparentLayer(enabled: boolean) 42 43当背景颜色设置半透明的XComponent需要开启独立图层时,使用本接口。 44 45使用本接口,并不代表一定会被设置为独立图层。出于一些原因:硬件规格(如:硬件不支持独立图层进行硬件合成)、软件规格(如:独立图层与带模糊ui相交),将导致开发者希望半透明XComponent设置为独立图层却失效的结果。 46 47由于绘制独立图层的原理,使用本接口时需要按照以下要求使用,否则会出现显示问题。 48 491.当设置了独立图层的XComponent下方有相交的XComponent时,下方的XComponent也应该设置为独立图层。 50 51 52 532.在设置独立图层接口带透明背景的XComponent下方摆放UI组件会发生显示问题,在合成时会出现UI组件显示内容消失的异常。 54 55 56 57设置了独立图层接口的XComponent需要在所有与其相交的UI元素下方。 58 59 60 613.在布局静态的场景下对带透明背景XComponent设置独立图层,布局静态场景例如:非页面跳转场景、视频弹幕静置播放场景。 62 63**系统API:** 从API version 18开始,该接口支持在系统中使用。 64 65**系统能力:** SystemCapability.ArkUI.ArkUI.Full 66 67**参数:** 68 69| 参数名 | 类型 | 必填 | 说明 | 70| ------- | ------- | ---- | ---------------------- | 71| enabled | boolean | 是 | 是否开启组件背景透明状态下的独立图层。<br/>true:开启独立图层;false:关闭独立图层。<br/>默认值:false | 72 73 > **说明:** 74 > 75 > 仅type为SURFACE时有效。 76 > 77 > 不支持[ArkUI NDK接口](../../../ui/ndk-build-ui-overview.md)创建的XComponent组件。