簡體   English   中英

如何測量屏幕上兩點之間的物理距離(Android)?

[英]How to measure the physical distance between two points on a screen (Android)?

我正在構建一個Android應用,其中用戶必須觸摸屏幕上的圓圈,並且我需要記錄用戶的觸摸距離圓圈中心有多遠。

問題是,我想記錄物理距離,而不是像素距離,因為我要在許多設備上運行該應用程序,並且希望所有結果都統一。 例如,如果用戶距圓心的觸摸距離為15像素,則在一個設備上的物理距離可能是0.5厘米,在另一設備上的物理距離是1厘米(只是由這些數字組成,但您知道了)。 因此,我只能依靠物理測量,而不能依靠像素。

那么我應該如何記錄接觸距離呢? View.onTouchEvent方法為您提供觸摸事件的x和y(以像素為單位)(我假設),所以我是否只需獲取從圓心到觸摸中心的距離(以像素為單位),然后將其轉換為dp (並將所有結果存儲在dp單元中)? 還是應該將像素距離轉換為pt ,該距離應該在任何設備上都相同? 如果是這樣,一個人如何從px轉換為pt(我似乎在任何地方都找不到答案)?

您可以使用DisplayMetrics來獲取屏幕尺寸(以像素為單位)和屏幕的DPI,然后將寬度和高度除以dpi以得到寬和高的英寸數,然后使用該值將像素距離轉換為實際單位。 ..

如果這樣的話。

鏈接到DisplayMetrics: http//developer.android.com/reference/android/util/DisplayMetrics.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM