-
onTouch(触摸事件)
-
•
手指触摸动作触发该回调。鸿蒙的onTouch事件是从里到外冒泡传递,和Android从外到里分发机制完全相反。
-
•
TouchEvent.stopPropagation:阻止冒泡事件。
-
•
场景:可以实现内部拦截法,进行事件拦截外部事件的onTouch事件处理,外部事件的onClick事件扔可以响应,如果需要拦截外部所有事件,使用onTouchIntercept。
-
•
番外:外部拦截法通过设置外部组件的hitTestBehavior。hitTestBehavior优先级大于一切,因为触摸测试阶段会从外到内收集可触摸组件,如果外层设置hitTestMode拦截内层组件之后,内层组件不会被收集。
-
-
onClick(点击事件)
-
拖拽事件
-
•
默认支持拖出能力的组件(可从组件上拖出数据):Search、TextInput、TextArea、RichEditor、Text、Image、Hyperlink,开发者可通过设置组件draggable属性来控制对默认拖拽能力。
-
•
默认支持拖入能力的组件(目标组件可响应拖入数据):Search、TextInput、TextArea、RichEditor,开发者可通过设置组件的allowDrop属性为null来禁止对默认拖入能力的支持。
-
•
onDragStart:优先执行此方法,开始拖拽,可以获取拖拽数据。
-
•
onDragEnter:拖拽进入组件范围内,触发回调,当监听了onDrop事件时,此事件才有效。
-
•
onDragMove:拖拽在组件范围内移动时,触发回调,当监听了onDrop事件,此事件才有效。
-
•
onDragLeave:拖拽离开组件范围内时,触发回调,当监听了onDrop事件,此事件才有效。
-
•
onDrop:绑定此事件的组件可作为释放目标。当在本组件范围内停止拖放行为时,触发回调,可用来接收拖入目标的信息。
-
•
onDragEnd:拖拽结束,触发回调。
-
-
焦点事件
-
•
onFocus:当前组件获取焦点时触发的回调。
-
•
onBlur:当前组件失去焦点时触发的回调。
-
-
onTouchIntercept(自定义事件拦截)
-
•
为组件提供自定义的事件拦截能力,可通过返回HitTestMode属性来设置拦截能力。
-
•
场景配合ouTouch进行内部拦截。
-
-
onChildTouchTest(触摸测试阶段,自定义事件分发)
-
•
当前组件设置回调,可自定义触摸测试并控制触摸测试中子节点行为。
-
•
通过TouchTestStrategy分发策略返回具体是否分发到子节点。
--javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown.onChildTouchTest((touchInfo) => { for (let info of touchInfo) { if (info.id == 'MyList') { return { id: info.id, strategy: TouchTestStrategy.FORWARD_COMPETITION } } } return { strategy: TouchTestStrategy.DEFAULT } })
-
-
挂载卸载事件
-
•
onAttach:组件挂在到组件树时触发,回调在组件渲染前触发,推荐使用onAppear。
-
•
onDetach:组件从组件数卸载时触发,推荐使用onDisAppear。
-
•
onAppear:组件挂在后触发回调,回调时机有可能在渲染后。
-
•
onDisAppear:组件从组件树卸载时触发此回调。
-
-
onAreaChange(组件区域变化事件)
-
•
组件区域变化时触发该回调。仅会响应由布局变化所导致的组件大小、位置发生变化时的回调。
-
-
onSizeChange(组件尺寸变化事件)
-
•
组件区域变化时触发该回调。仅会响应由布局变化所导致的组件尺寸发生变化时的回调。
-
-
onVisibleAreaChange(组件可见区域变化事件)
-
•
组件可见区域变化时触发该回调。
-
鸿蒙通用事件(事件分发、事件拦截等)
积水成渊,蛟龙生焉2026-04-18 17:20
相关推荐
fleaxin9 小时前
Atlas 300V:(3)模型精度数据对比Eyfcom14 小时前
〖深度〗鸿蒙 ArkTS 移动应用开发经验:从 TypeScript 心智模型到声明式运行时的六层认知重构程序猿追14 小时前
把一份背包数据装进 NBT:KNBT 在鸿蒙上的标签与压缩实验hqzing18 小时前
在鸿蒙 PC 上使用 apt 安装 Debian 软件包(非虚拟机、非容器)思维新观察19 小时前
腕上血压管家登场,华为WATCH D3亮相长城心脏病学大会时间的情敌19 小时前
鸿蒙开发日常随笔|写代码、调真机、踩坑碎碎念行者-全栈开发1 天前
【鸿蒙心迹】让老照片变清晰:HarmonyOS 7.0 图像超分相册工程化落地与 5 个踩坑解法ToDesk_Daas1 天前
深度适配鸿蒙生态,ToDesk 迎来版本升级,全面优化远程操控体验贾伟康1 天前
【化学实验室|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致行者-全栈开发1 天前
【共创稿事节】HarmonyOS 7 轻量悬浮窗口选型与闪控窗接入:闪控球、闪控窗、系统悬浮窗到底怎么选