touchevent和hoverevent之间的区别是什么?

时间:2013-10-14 15:22:34

标签: android android-framework

有几种类型的输入事件,其中包括触摸事件和悬停事件。

final int source = q.mEvent.getSource();
if ((source & InputDevice.SOURCE_CLASS_POINTER) != 0) {
    deliverPointerEvent(q);
} else if ((source & InputDevice.SOURCE_CLASS_TRACKBALL) != 0) {
    deliverTrackballEvent(q);
} else {
    deliverGenericMotionEvent(q);
}

上面的代码是函数deliveryInputEvent(...)的一部分。这两种类型是分开处理的。

  1. 触摸事件是用手触摸屏幕,悬停事件是用手写笔触摸屏,是吗?
  2. 设备如何相互不同?
  3. 假设设备可以告诉另一个,我认为这两个事件是相似的,我们为什么要对它们进行无私处理?

1 个答案:

答案 0 :(得分:0)

最新设备具有非接触式传感器,可以检测靠近屏幕但​​不接触的数字或手写笔。这些将用于预览功能,如工具提示和小缩略图。

这项技术是黑魔法,不应轻易玩弄。

我希望大多数时候,较小的开发人员只有资源来处理触摸事件。