HarmonyOS 自定义弹出框+自定义布局出现布局内点击无响应问题?

阅读 808
1 个回答

解决方案

问题原因:自定义弹出框容器,配合自定义组件的onMeasureSize和onPlaceChildren的方法,存在点击事件无法拦击到的情况。

例如:1、child节点计算出尺寸。而onMeasureSize返回父组件的尺寸时,是0。那么这个自定义组件在dailog中默认尺寸是0。没有拦截区域了,点击任何区域,都认为是dialog之外的区域,会自动销毁dialog。

2、如果onMeasureSize返回了父组件尺寸,但是onPlaceChildren重新设置child的坐标,超出了,父组件区域,点击事件,只能在父组件区域被拦截,子组件才可以收到点击事件。

如下示意图:

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进