我正在编写一个应用程序,涉及使用一个手指在屏幕上书写,或最终使用手写笔.我有那个部分在工作.在ACTION_DOWN上,开始绘图; 在ACTION_MOVE上,添加线段; 在ACTION_UP上,完成一行.
问题是在ACTION_DOWN之后,显然指针需要从它开始的位置移动超过10个像素(基本上是起始点周围的20x20框)才能开始发送ACTION_MOVE事件.离开盒子后,移动事件都非常准确.(我通过测试得出10像素的东西.)因为这是用于书写或绘图,10像素是一个相当大的损失:取决于你试图写的小,你可能会失去第一个字母或两个.我还没有找到任何关于它的信息 - 只有一两个论坛上的帖子,比如http://android.modaco.com/topic/339694-touch-input-problem-not-detecting-very-small -movements/page_ pid _1701028#entry1701028.它似乎出现在某些设备或系统上,而不是其他设备或系统上.但是,当你拥有它时,没有关于如何摆脱它的想法.
我正在使用带有Android 3.1的Galaxy Tab 10.1.我已经尝试了几种不同的东西试图摆脱它:我已经尝试将事件的坐标设置为其他东西,看看我是否可以欺骗它以为光标位于不同的位置; 我尝试用更改的坐标重新调度事件(我的处理程序对新点做出反应,但仍然没有响应10像素半径的移动.)我在源代码中搜索了对该效果的任何引用,并且没有找到(虽然我认为它来自不同版本的Android - 3.1的代码尚未发布,是吗?)我已经搜索了查询指针当前状态的方法,所以我可以只有一个计时器捕获更改,直到指针超过阈值.没有相应的移动事件,找不到任何获得指针坐标的方法.没有任何效果.有没有人知道这件事,或有任何想法或解决方法?谢谢.
- 更新:拖放事件显示相同的阈值.