即使我的手指仍在一个点上,Android MotionEvent onTouch也会跳转

时间:2013-02-04 16:00:17

标签: java android device ontouchlistener

最近我尝试在视图上使用ontouch事件,并且我意识到即使我的手指静止,X轴也会在ramdomly上跳过5或10像素,这是硬件问题吗?我读到ontouch移动事件是不精确的然后我想知道我怎么能做到精确。

case MotionEvent.ACTION_DOWN:

    lastmovex = (int) event.getX();
    lastmovey = (int) event.getY();

    break;

case MotionEvent.ACTION_MOVE:

    int x = (int) event.getX(pointerindex) - lastmovex;
    int y = (int) event.getY(pointerindex) - lastmovey;
    Log.d(TAG,"move x="+x+" y="+y);
    break;
这告诉我(手指还在一点上):

move x=0 y=0
move x=-2 y=0
move x=0 y=0
move x=1 y=0
move x=-5 y=0
move x=3 y=0
move x=1 y=0
move x=0 y=0

那么,我如何获得更高的精确度,或者我的设备是否有这个问题?谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

int x = (int) (event.getX(pointerindex) * event.getXPrecision()  - lastmovex);
int y = (int) (event.getY(pointerindex) * event.getXPrecision()  - lastmovey);

尝试用这个来衡量?