Android-多点触控时为什么会重复执行多次?

发布于 2017-03-11 14:50:37 字数 1331 浏览 1461 评论 1

我最近在做多点触控相关的东西,需要获取手指落下的坐标,现在坐标能获取到了,但是很奇怪方法会被触发数次,两个手指触发一次,三个手指触发两次,四个手指触发三次,获取到的触点依次增加,例如四个手指按下,会执行三次,第一次获取到两个手指的点,第二次获取到三个手指的点,第三次才能获取到四个手指的点。
问:需要怎么才能把前面多余的触摸次数筛选掉,不然方法触发那么多次?

    @Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
// 获得屏幕触点数量
switch (event.getActionMasked()) {
case MotionEvent.ACTION_DOWN:
// mode = 1;
break;
case MotionEvent.ACTION_POINTER_DOWN:
int pointerCount = event.getPointerCount();
point_Entities.clear();
for (int i = 0; i < pointerCount; i++) {
Point_Entity point_Entity = new Point_Entity();
point_Entity.setX(event.getX(i));
point_Entity.setY(event.getY(i));
point_Entities.add(point_Entity);
Log.i(this.getClass().getSimpleName(), "点" + (i + 1) + " x:" + point_Entities.get(i).getX() + " - y:"
+ point_Entities.get(i).getY());
}
Log.i(this.getClass().getSimpleName(), "================================");
break;
}
return super.onTouchEvent(event);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

归属感 2017-07-01 16:38:45

你看看单片机代码里有个按键防抖动,不加防抖也是会出现按一下响应几下。也就是加延时。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文