使用Java SDK开发HarmonyOS应用如何获取触摸事件坐标?
HarmonyOS Java SDK 触摸点坐标获取方案
你给出的Android代码逻辑是预先创建坐标存储对象,再通过事件方法把坐标写入该对象,在HarmonyOS Java SDK中对应实现更简洁,触摸事件对应TouchEvent类,直接调用API即可返回指定索引的触摸点坐标:
// index为要获取的触摸点索引,与Android的index参数逻辑完全一致 Point pointerCoords = touchEvent.getPointerPosition(index); // 分别获取X、Y轴坐标 float x = pointerCoords.getPointX(); float y = pointerCoords.getPointY();
注意事项
- 多指触摸场景下,index的取值范围为
0 ~ touchEvent.getPointerCount() - 1,和Android的使用逻辑对齐,可直接适配图片缩放的多指检测需求 - 若只需要单独获取某个坐标轴的值,可直接链式调用,无需额外声明Point变量:
float x = touchEvent.getPointerPosition(index).getPointX();
内容的提问来源于stack exchange,提问作者Narla Komal Kalyan
相关产品推荐
相关产品推荐

