本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

在按下去的瞬间,Down状态被触发后Move状态也接着被触发,即使手指不移动也会一直触发Move状态,Move连续打印出来的x、y值一模一样。

在模拟器上,TouchType的表现正常,不移动不触发,在真机上只要点击就会触发。

这是鸿蒙的“特性”吗?

解决方案:


在HarmonyOS应用开发中,onTouch事件在真机上持续触发TouchType.Move属于正常现象,主要源于以下特性与处理逻辑:

事件机制特性:触控采样率差异:changedTouches按屏幕刷新率重采样,touches按器件刷新率上报。真机的触摸传感器通常具有高灵敏度,即使手指轻微抖动(用户可能感知不到),传感器仍会捕捉到坐标变化并触发Move事件。

系统级事件处理:HarmonyOS框架为优化交互体验,会主动上报细微的触控变化。这在需要高精度触控的场景(如绘图应用)中是有益的,但在点击场景下可能造成多次Move事件触发。

如果不需要无效的移动事件,可通过代码逻辑过滤掉。

具体代码和其他解决方案讨论,请点击原帖查看:

onTouch事件在点击的时候,一直会触发TouchType的Move状态-华为开发者问答 | 华为开发者联盟 (huawei.com)

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐