2013-10-14 42 views
0

有幾種類型的輸入事件,其中包括觸摸事件和懸停事件。touchevent和hoverevent有什麼區別?

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. 假設設備可以告訴另一個設備,我認爲這兩個事件是相似的,爲什麼我們要分別處理它們?

回答

0

最新的設備具有非接觸式傳感器,可檢測接近屏幕但未觸摸的數字或觸控筆。這些將用於預覽功能,如工具提示和小縮略圖。

這項技術是黑暗的魔法,不應該輕輕玩弄。

我預計大部分時間,小開發者只會擁有處理觸摸事件的資源。