android - 生成用于测试的多点触控 MotionEvents

标签 android multi-touch

我目前正在为 Android 上的多点触摸事件实现手势检测器。为了测试检测器的行为,我想将 MotionEvents 发送到检测器并检查他的 Action 。

我目前遇到的问题是我只能通过调用现有的 MotionEvent.obtain() 方法之一来创建 MotionEvents,但这些方法似乎不允许我设置指针 ID对于一个事件。 IE。我只能创建单点触摸事件。

有谁知道是否有可能以某种方式做到这一点?我可以使用另一个数据结构作为检测器的输入,但如果可能的话我想避免这种情况并坚持使用 MotionEvent 类。

最佳答案

你试过吗:

public static MotionEvent obtain (long downTime, long eventTime, int action, 
int pointers, int[] pointerIds, PointerCoords[] pointerCoords, int metaState, 
float xPrecision, float yPrecision, int deviceId, int edgeFlags, int source, int flags)

这是 MotionEvent page 中列出的第三个 obtain() 方法

您可以指定:

  • pointers - 点数 将参加此次 Activity 。
  • pointerIds - 指针数组 提供标识符的值 每个指针。
  • pointerCoords - 指针数组 值(value)观提供 MotionEvent.PointerCoords坐标 每个指针的对象。

关于android - 生成用于测试的多点触控 MotionEvents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3637044/

相关文章:

ios - 多人游戏如何使用多点触控

c# - 在 GMap.net 中缩放和平移

c# - 当我在 C# 中使用inkcanvas1.Strokes.Erase 语句时,WPF-InkCanvas StrokeErased 事件不会触发

android - Admob 印象/点击在 playstore 上传后不更新

java - Androidplot - 在绘图区域内定位范围标签

android - 从 Android Studio 运行时安装 APK 导致应用程序崩溃完美运行

C# - 多点触控帮助? USB网络摄像头输入?图像分析?

java - 如何删除日历中的特定事件

android - Facebook 不会使用 android 在个人资料页面上显示上传的图片

java - 如何在 Linux 上将 JavaFX 多点触控事件与 JFX Pane 组件一起使用