我正在构建一个Android应用程序,用户必须在屏幕上触摸一个圆圈,我需要记录用户的触摸距离圆圈中心有多远。
问题是,我想记录物理距离,而不是像素距离,因为我要在许多设备上运行这个应用程序,我希望所有结果都是统一的。例如,如果用户与圆心的触摸距离为 15 像素,则在一台设备上这可能是 0.5 厘米的物理距离,而在另一台设备上可能是 1 厘米(只是这些数字,但你明白了)。所以我只能依靠物理测量,而不是像素。
那么我应该如何记录触摸距离呢?该View.onTouchEvent
方法以像素为单位为您提供触摸事件的 x 和 y(我假设),所以我是否只需获取从圆心到触摸的距离(以像素为单位),然后将其转换为dp(并存储所有结果以 dp 为单位)?或者我应该将像素距离转换为pt,这在任何设备上都应该是相同的物理尺寸?如果是这样,如何从 px 转换为 pt (我似乎无法在任何地方找到答案)?