以下代码是测试应用程序中使用的实际代码,位于扩展 surfaceView 的类上。
@Override
public void onDraw(Canvas canvas)
{
canvas.drawCircle(touched_x, touched_y, 50, myPaint);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
touched_x = event.getX();
touched_y = event.getY();
return true;
}
它基本上画出你的手指去哪里。测试它是否跟踪。
添加第二根手指,您仍然可以跟踪您的第一根手指。但是添加第三个,它就停止了。你从那里做什么都没关系。除非您移开所有手指并重新开始,否则它不会跟踪。
现在这是一个问题,因为它有时认为一根手指就是三根!我可以克服手指之间的测试距离,但这仍然不能解决问题。
当第三根手指敲击时,它会冻结跟踪。它不会调用 action.Cancel。
我知道第一根手指在何时何地被释放是至关重要的。
然而它认为最后一个事件是MotionEvent.ACTION_MOVE
。不是MotionEvent.ACTION_UP
或MotionEvent.ACTION_CANCEL
。
目前因为一根手指可以是三个。我的应用似乎无法加载给定的图像滚动。