获得所有X& Y拖动/移动手指时坐标

时间:2012-04-16 17:24:13

标签: android

当我触摸一次(MotionEvent.Action_Down)时,它给了我准确的所有X& Y坐标,但是当我触摸并移动我的手指(MotionEvent.Action_Move)时,它会给出一些触摸的坐标。

例如

我在y轴10到150上拖动手指,这是准确的我在这个轴上移动我的手指但是它给了我

  

10 13 15 19 20 25 26 28 29 31

我在Logcat中通过event.getY()得到所有这些,看看差异。 1月10日然后是13但是我的手指也在11,12上移动了它并没有给出我所有代码都在ontouchevent的坐标

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我认为这只是你必须要忍受的东西,也许你可以产生一条最适合你的大部分点并使用它的线条?

触摸屏控制器无法快速无法捕捉到手指滑过的每一个像素,它只需要经常对屏幕进行采样。

你能说出你需要使用这些数据吗?

答案 1 :(得分:0)

要确定某些手指是否与您的线条相交,您可以测试每对相邻的触摸坐标并根据您的线进行测试。

以下页面包含一些Java代码,可用于测试两行的交集: http://www.ahristov.com/tutorial/geometry-games/intersection-lines.html

假设您使用该页面中的方法,并假设您有一组称为点的触点,您可以测试与以下代码的交集:

boolean doesIntersect = intersection(points[i-1].x, points[i-1].y, points[i].x, points[i].y, yourlinestart.x, yourlinestart.y, yourlineend.x, yourlineend.y);