Android 触摸时检测手指开关
我有一个位图可以在我的应用程序上拖动,但是有一个小错误,如果有人用一个手指点击位图并开始移动它,然后在移动它的同时用另一个手指点击,位图“传送”在那里。我如何检测用户是否切换手指以使位图无法传送?这是我的动作代码:Android 触摸时检测手指开关,android,bitmap,Android,Bitmap,我有一个位图可以在我的应用程序上拖动,但是有一个小错误,如果有人用一个手指点击位图并开始移动它,然后在移动它的同时用另一个手指点击,位图“传送”在那里。我如何检测用户是否切换手指以使位图无法传送?这是我的动作代码: case MotionEvent.ACTION_MOVE: if (dragging) { CurrentMobEntry.getKey().x = (int) x - Curre
case MotionEvent.ACTION_MOVE:
if (dragging) {
CurrentMobEntry.getKey().x = (int) x
- CurrentMobEntry.getValue().getNormalbit()
.getWidth() / 2;
CurrentMobEntry.getKey().y = (int) y
- CurrentMobEntry.getValue().getNormalbit()
.getHeight() / 2;
CurrentMobEntry.getValue().getDestroyedP().x=(int)x
+CurrentMobEntry.getValue().getNormalbit()
.getWidth() / 2;
CurrentMobEntry.getValue().getDestroyedP().y = (int)y
+ CurrentMobEntry.getValue().getNormalbit()
.getHeight() / 2;
}
break;
从:
某些设备可以同时报告多个移动轨迹。多触摸屏为每个手指发出一条运动轨迹。生成运动轨迹的单个手指或其他对象称为指针。运动事件包含有关当前处于活动状态的所有指针的信息,即使其中一些指针自上次事件传递后未移动
指针的数量只会随着单个指针的上下移动而变化一次,除非手势被取消。
因此,您要做的是在任何给定时间内只允许一个指针(手指)操作。我似乎找不到一个简单的解决方案,因此我们将使用一种变通方法:
每个指针都有一个唯一的、恒定的ID。在任何给定的触摸事件上,您将检查该指针是否启动了该事件,如果为true,则使用它,否则忽略它
有关此示例的完整信息,请查看Android开发者的。是否没有从中提取手指数据?或者使用更高级别的框架将触摸转换为非常简单的格式?我处理过很多触摸操作,将触摸分成“手指”(基本上每个触摸都代表一个手指),然后我通常用第一个手指来处理你正在谈论的事情。这将防止“第二个”手指干扰您的位置计算。