1e41f4b71Sopenharmony_ci# EffectComponent (系统接口) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci特效合并容器组件,用于子节点特效绘制的合并,实现特效的绘制性能优化。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - 该组件从API Version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> - 本模块为系统接口。 10e41f4b71Sopenharmony_ci> 11e41f4b71Sopenharmony_ci> - 目前该组件仅支持子组件背景模糊效果的绘制合并优化。 12e41f4b71Sopenharmony_ci> 13e41f4b71Sopenharmony_ci> - 在对子组件的背景模糊特效进行绘制合并时,需要将子组件的backgroundBlurStyle(BlurStyle)属性替换成useEffect(true)。 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## 子组件 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci可以包含子组件。 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci## 接口 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciEffectComponent() 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci创建特效绘制合并组件,用于对子组件背景模糊特效的绘制合并。 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci## 事件 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci不支持通用事件。 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci## 属性 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci支持通用属性,目前仅支持对backgroundBlurStyle属性做绘制合并优化。 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci## 示例 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci```ts 38e41f4b71Sopenharmony_ci//Index.ets 39e41f4b71Sopenharmony_ci@Entry 40e41f4b71Sopenharmony_ci@Component 41e41f4b71Sopenharmony_cistruct Index { 42e41f4b71Sopenharmony_ci build() { 43e41f4b71Sopenharmony_ci Stack() { 44e41f4b71Sopenharmony_ci Image($r("app.media.example")) 45e41f4b71Sopenharmony_ci .autoResize(true) 46e41f4b71Sopenharmony_ci EffectComponent() { 47e41f4b71Sopenharmony_ci Column({ space: 20 }) { 48e41f4b71Sopenharmony_ci // 使用backgroundBlurStyle进行模糊绘制 49e41f4b71Sopenharmony_ci Text("Normal text with backgroundBlurStyle") 50e41f4b71Sopenharmony_ci .textAlign(TextAlign.Center) 51e41f4b71Sopenharmony_ci .fontSize(16) 52e41f4b71Sopenharmony_ci .fontWeight(FontWeight.Medium) 53e41f4b71Sopenharmony_ci .backgroundBlurStyle(BlurStyle.Thick) 54e41f4b71Sopenharmony_ci .borderRadius(16) 55e41f4b71Sopenharmony_ci .width('90%') 56e41f4b71Sopenharmony_ci .height('48') 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ci // 不进行模糊绘制 59e41f4b71Sopenharmony_ci Text("Normal text without blur effect") 60e41f4b71Sopenharmony_ci .textAlign(TextAlign.Center) 61e41f4b71Sopenharmony_ci .fontSize(16) 62e41f4b71Sopenharmony_ci .fontWeight(FontWeight.Medium) 63e41f4b71Sopenharmony_ci .border({ width: 1 }) 64e41f4b71Sopenharmony_ci .borderRadius(16) 65e41f4b71Sopenharmony_ci .width('90%') 66e41f4b71Sopenharmony_ci .height('48') 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci // 使用useEffect进行模糊合并绘制,继承EffectComponent的模糊参数 69e41f4b71Sopenharmony_ci Text("Normal text with useEffect blur 1") 70e41f4b71Sopenharmony_ci .textAlign(TextAlign.Center) 71e41f4b71Sopenharmony_ci .useEffect(true) 72e41f4b71Sopenharmony_ci .fontSize(16) 73e41f4b71Sopenharmony_ci .fontWeight(FontWeight.Medium) 74e41f4b71Sopenharmony_ci .borderRadius(16) 75e41f4b71Sopenharmony_ci .width('90%') 76e41f4b71Sopenharmony_ci .height('48') 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci // 使用useEffect进行模糊合并绘制,继承EffectComponent的模糊参数 79e41f4b71Sopenharmony_ci Text("Normal text with useEffect blur 2") 80e41f4b71Sopenharmony_ci .textAlign(TextAlign.Center) 81e41f4b71Sopenharmony_ci .useEffect(true) 82e41f4b71Sopenharmony_ci .fontSize(16) 83e41f4b71Sopenharmony_ci .fontWeight(FontWeight.Medium) 84e41f4b71Sopenharmony_ci .borderRadius(16) 85e41f4b71Sopenharmony_ci .width('90%') 86e41f4b71Sopenharmony_ci .height('48') 87e41f4b71Sopenharmony_ci } 88e41f4b71Sopenharmony_ci .width('100%') 89e41f4b71Sopenharmony_ci } 90e41f4b71Sopenharmony_ci .backgroundBlurStyle(BlurStyle.Thin) 91e41f4b71Sopenharmony_ci } 92e41f4b71Sopenharmony_ci .backgroundColor(Color.Black) 93e41f4b71Sopenharmony_ci .width('100%') 94e41f4b71Sopenharmony_ci .height('100%') 95e41f4b71Sopenharmony_ci } 96e41f4b71Sopenharmony_ci} 97e41f4b71Sopenharmony_ci``` 98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ci