0

我正在使用 ApiDemos 中提供的 FingerPaint 示例在屏幕上绘制我的手指运动。

现在我在我的路径对象中添加圆圈而不是线,并且在调用 onDraw 方法时将绘制带有圆圈的路径。

现在我的问题是,当我慢慢移动手指时,它会在onTouchEvent给出的点上正确绘制圆圈,但是当我以某种速度移动手指时,与线条不同,它只绘制几个圆圈。

经过调试,我发现在快速移动手指时,一些触摸事件被视图丢弃,并且在这些点上没有绘制圆圈。

任何人都可以对此提供一些指示。为什么会这样?

4

1 回答 1

0

我可以在没有看到代码的情况下想到两件事。

首先,您是否获得了 touchEvents 之间记录的历史点并也使用它们?如果没有,那会像你所说的那样引起一些严重的抽搐。

如果你是,并且它只是没有捡起它们,那么你能做的最好的事情可能就是欺骗它一些。检查当前和最后绘制的圆之间的距离。如果它超过圆的直径太多,画一条与圆相同粗细的线,两端各有一个圆。

于 2012-06-24T22:53:42.917 回答