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