這是用於Galaxy Note的。
在ACTION_HOVER_EXIT
事件動作我tryed幾個不同的東西,但沒有成功:
- 事件座標(信息getX,的getY) - 有時讓手寫筆時,離屏幕是像0,座標 - 當觸筆開始觸摸屏幕時,146和座標都大於0。
- 距離屏幕的距離。觸控筆尖距屏幕的距離有一個軸。通過檢查它是否在0附近,觸筆尖端應該觸摸屏幕。不幸的是Galaxy Note上的手寫筆設備沒有這種能力。
- 檢查尖端的壓力。當
ACTION_HOVER_EXIT
操作的懸停事件分散時,這仍然爲0。
看着存儲在設備中的信息device.toString()
我沒有看到兩種情況有什麼不同。但是,通過使用handler.postDelayed()
電話,我設法解決了這個問題。基本上,我會在10 ms後執行退出懸停操作,並且僅在此期間沒有觸摸事件失散時才執行。
下面是輸出爲我手寫筆device.toString()
:
Input Device 5: sec_e-pen
Keyboard Type: non-alphabetic
Key Character Map: /system/usr/keychars/Generic.kcm
Sources: 0x2103 (keyboard mouse)
AXIS_X: source=0x2002 min=0.0 max=799.8877 flat=0.0 fuzz=0.11234377
AXIS_Y: source=0x2002 min=0.0 max=1279.8877 flat=0.0 fuzz=0.11234969
AXIS_PRESSURE: source=0x2002 min=0.0 max=1.0 flat=0.0 fuzz=0.0
如果它是這樣一個糟糕的問題,我想知道我做錯了什麼,所以我能避免這樣做,在未來。 – Chefire 2012-07-28 08:40:06