HarmonyOS鸿蒙Next中父组件对子组件的触摸测试模式控制缺乏部分模式。

HarmonyOS鸿蒙Next中父组件对子组件的触摸测试模式控制缺乏部分模式。

  1. 缺乏父组件不响应,子组件也不响应的Mode,为了实现此功能,只能自定义一个变量,通过变量来间接的达到设置子组件的目的。
  2. 如果父组件(A)的HitTestMode,由其子组件(B1、B2)共同决定,即:A = B1 || B2,
  3. 当前onChildTouchTest接口只能选择其子组件进行事件分发,无法选择孙子节点
  4. 当前OH缺乏判断按压点是否在某个视图内的方法。
  5. 当前onChildTouchTest接口无法选择不响应模式。

触摸测试控制-触摸交互控制-通用属性-组件通用信息-ArkTS组件-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者


更多关于HarmonyOS鸿蒙Next中父组件对子组件的触摸测试模式控制缺乏部分模式。的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

当前确实不支持,可以等后续支持。 

更多关于HarmonyOS鸿蒙Next中父组件对子组件的触摸测试模式控制缺乏部分模式。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,父组件对子组件的触摸测试模式控制确实存在部分模式缺失。具体表现为,父组件无法完全控制子组件的触摸事件传递和处理方式,导致在某些场景下无法实现预期的交互效果。这一问题可能影响复杂布局中的触摸事件分发机制,开发者需注意在设计和实现时进行相应的适配和调整。

关于HarmonyOS Next中触摸测试模式控制的几点问题,以下是技术分析:

  1. 关于父/子组件都不响应的模式:目前确实需要自定义变量控制,建议通过设置父组件HitTestMode为None,并在子组件中同步该状态实现。

  2. 父组件响应由子组件决定的情况:当前架构下建议通过自定义事件处理逻辑实现B1||B2的判断,在父组件中监听子组件状态变化。

  3. 孙子节点选择问题:onChildTouchTest设计初衷是父子层级控制,跨级控制建议考虑重构组件层级或使用状态管理共享触摸状态。

  4. 按压点检测:可通过Gesture组件的onTouch回调结合组件位置信息自行计算实现,目前没有直接API。

  5. onChildTouchTest无响应模式:该接口设计用于分发控制,完全无响应建议直接在子组件设置HitTestMode为None。

当前触摸测试机制确实存在这些设计限制,建议根据具体场景选择组合使用现有API或自定义逻辑实现需求。

回到顶部