#鸿蒙通关秘籍#如何通过hitTestBehavior属性控制组件的事件响应?

HarmonyOS
2024-12-04 15:04:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
幽谷风LDAP

hitTestBehavior 属性可以帮助在复杂的多层级场景下控制组件的事件响应行为。其主要有三种模式:BlockTransparent,和 None

  • 使用 HitTestMode.Block:自身会响应触摸测试,会阻塞兄弟节点和子节点的触摸测试。
  • 使用 HitTestMode.Transparent:自身响应触摸测试,但不会阻塞兄弟节点的触摸测试。
  • 使用 HitTestMode.None:自身不响应触摸测试,并且不会阻塞子节点和兄弟节点的触摸控制。

例如:

ComponentA() {
    ComponentB()
    .onTouch(() => {})
    .gesture(TapGesture({count: 1}))
}
.hitTestBehavior(HitTestMode.None)

在此设置中,点击 组件B 的区域时,组件B 的触摸事件和手势会触发,而 组件A 的触摸事件不会触发。


分享
微博
QQ
微信
回复
2024-12-04 16:24:24
相关问题
HarmonyOS如何控制组件属性输出
515浏览 • 1回复 待解决
用数组变量控制组件属性不生效
1861浏览 • 1回复 待解决