2015-09-21 19 views
3

我使用MotionEvent實例中的getPressure(index)方法來獲取應用於屏幕的壓力值。Android MotionEvent壓力測量單位

我想弄清楚如何將該值轉換爲至少一個標準測量單位的近似值。

在Android中,壓力值是一個從0到1的浮點數。我需要用某種方式用牛頓表示它。 從我所瞭解的這是不同的設備,所以它不可能得到一個非常精確的單位測量,但我很接近。

像牛頓什麼量是正常的手寫筆觸摸上全部力量屏幕(裝置測量的壓力1.0F)

+1

我不會依賴最大值,因爲你可以獲得不同強度的1f。我會嘗試 - 將一個已知重量的適當物體放在屏幕上或手指上。 – natario

+0

可能重複[如何檢測屏幕上的壓力在Android?](http://stackoverflow.com/questions/18538513/how-to-detect-screen-pressure-on-android) –

+0

它不是一個重複,因爲它解決了一個當我使用觸控筆時,我正在尋找一種方法來找出體面的力量值範圍。我不關心準確性,因爲我知道我不能達到真正準確的結果。 – DArkO

回答

1

我想你只能猜測,並且知道結果會受到巨大的不確定性的影響。我看到的解決方案:

  1. 將合適的已知重量的物體放在屏幕上。不知道屏幕,但如果它需要人體皮膚來觸發事件,則可以將手指放在屏幕上(不加強度),然後在手指上放一些物體。

  2. 拿一支手寫筆,並通過調試瞭解您需要多大的力才能得到0.5f結果。然後拿一個比例尺(這裏是外國人,我的意思是測量重量的工具?),並用觸針施加相同的壓力,並讀取結果。

在這兩種情況下,可以有一個單一的地圖點(例如,0.5f -> 10 N),然後假定一個線性相關(也是0f -> 0 N知道)來填充的整個範圍。

有些耐心,你也可以填寫不同的值 - 我不希望這個關係實際上是線性的。

+0

我確實使用了附着在手寫筆上的一個1KG物體,並將它放在屏幕的頂部,它的大小約爲0.5f。所以我假設屏幕上的最大可測量的壓力是20牛頓。正如你所說,在這個尺度上轉換任何值的最簡單的方法是線性的,所以我使用了它。 0.5f - > 10N等等......我知道它在現實應用中並不準確,但它確實爲我的使用案例提供了一個現實的參考尺度。 – DArkO

+0

這可能是一個很好的估計。但是,我會嘗試2Kg或0.5Kg的物體,看看模型的立場。真的很好奇你如何將1Kg連接到手寫筆上! :-) – natario

+0

不要問:)哈哈。這個東西在底部有一個螺絲孔。手寫筆頂部是一個合適的內部。 – DArkO

0

getPressure返回一個值0-1,因爲壓力的方式被計算爲依賴於設備。有些設備會根據手指觸摸屏幕的多少區域來計算值。因此,除非您爲每個Android設備編寫解決方案,否則可能無法以適用於多種Android設備的方式轉換爲牛頓。

+0

我只需要它在1個設備上工作。 1具體的Android設備模型,我需要找到一個很好的參考價值,並使用它作爲一個規模。希望有道理?具體來說,當壓力值是1.0f時,手寫筆產生多大的力。什麼是合理的價值。像1N,0.1N,0.001N等? – DArkO

+0

在這種情況下,您只需要在該設備上運行一些測試。將不同的權重放到屏幕上時,將getPressure的值輸出到屏幕上。如果你想更準確,你必須考慮高度的高度。 1公斤的質量將被海平面上的9.81牛頓的力量吸引到地球。 –