2013-07-09 118 views
3

我聽說過:Android - 檢測電容式觸摸屏上的觸摸壓力?

MotionEvent e; 
float press = e.getPressure(...); 

但這只是返回0表示沒有觸摸,和1當我的手指觸摸屏幕。

是否可以找到手指在觸摸電容屏幕上施加的壓力值的值?

或者是我的預感正確,這將只適用於電阻屏幕..?

回答

5

MotionEvent().getPressure(i)應基於放置在屏幕上的「壓力」返回介於0和1之間的值。實際上,對於電容式屏幕而言,它是電容式物體的大小,而不是文字壓力,但手指的概念幾乎相同(手指很鬆軟)。取決於觸摸屏的校準,可能會返回高於1的範圍。

如果您的屏幕只返回0或1,請嘗試在其他設備上測試。也許你的屏幕驅動程序根本不會返回這些值。

MotionEvent | Android Developers : getPressure()

+0

有趣。所以它實際上是測量屏幕上的接觸量,因爲你的手指在它上面縮小。 我不確定,我正在使用三星Galaxy S3。 –

+1

這是Samsung Galaxy S3中的一個錯誤,屏幕只返回0或1.有關不支持壓力的設備列表,請參閱:https://code.google.com/p/markers-for-android/ wiki/DeviceSupport – gaborous

+0

但是,我怎樣才能使用'TOUCH_DOWN'事件來合併這個壓力?直到我移動手指,它纔會更新 – mr5