我需要帮助理解以下内容。
假设我有一个 854x480 像素的显示器。为什么 MotionEvent.getX 和 getY 方法返回浮点数?据我所知,显示器上的像素是离散的整数,显示器上没有半个像素这样的东西。
从开发者页面:
“返回给定指针索引的此事件的 X 坐标(使用 getPointerId(int) 查找此索引的指针标识符)。整数是像素;对于亚像素精度的输入设备,该值可能有一小部分。 "
http://developer.android.com/reference/android/view/MotionEvent.html#getX()
因此,对于某些设备,触摸屏可能比像素分辨率更精确。我想这对于像 Droid Eris 这样的低密度设备来说大部分时间都是这种情况。
为了更容易想象,将触摸屏视为完全独立于屏幕;就像您如何拥有一个独立于屏幕分辨率的一种尺寸的绘图板。假设你的分辨率是 1600x1200,移动你的笔比如 0.02 英寸可能相当于移动 4 或 5 个像素,而在 800x600 的屏幕上它只有 2 或 3。(完全是数字,但这一点是有效的)