我想知道如何获得准确,实时得到(x)和得到(y)值MotionEvent?正在发生的事情是,当我触摸屏幕上的特定区域时,我会告诉一个动作发生。 问题是,一旦我触摸屏幕并取下手指,它仍然认为我的手指位于相同的位置(因为这是我触摸的最后一个位置)。因此,当我有多个Down事件(用于多点触控)时,它会抛出所有内容。有没有办法重置X和Y值,所以当我放弃屏幕,他们回到0或空(或其他)?谢谢“现场”得到(x)和得到(Y)值(对于MotionEvents)****更新****
0
A
回答
0
只要抓住MotionEvent.ACTION_UP或ACTION_MOVE事件,根据动作何时需要发生(因为您希望它活着,您应该使用ACTION_MOVE事件)。您应该在发生ACTION_DOWN时处理设置外部变量,并在ACTION_MOVE或ACTION_UP上处理结果。
1
你所描述的不是问题。程序员负责跟踪触摸位置及其含义。如果您关心动作,则每次触摸时都需要跟踪上次触摸和当前触摸。我发现这样的作品很棒:
public int x=-1,y=-1,prevX=-1, prevY=-1;
public boolean onTouch(View v, MotionEvent event)
{
prevX = x;
prevY = y;
int x = (int)event.getX();
int y = (int)event.getY();
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
// there is no prev touch
prevX = -1;
prevY = -1;
// touch down code
break;
case MotionEvent.ACTION_MOVE:
// touch move code
break;
case MotionEvent.ACTION_UP:
// touch up code
break;
}
return true;
}
相关问题
- 1. sudo易于得到更新&& sudo易于得到升级
- 2. WPF C#问题与得到passwordBox(X,Y)
- 3. 得到x,y的像素颜色
- 4. 得到随机BigInteger范围(x,y)
- 5. 的Django得到现有对象和更新M2M
- 6. 如何获得新的矩形值,当x和y轴增加
- 7. 更新事件没有得到新值
- 8. X为什么表现得像Y?
- 9. Lua中,得到x和y坐标和颜色
- 10. 算法:返回与功率X中得到值Y
- 11. 通过3D数据数组得到x,y,z的平均值
- 12. 更新的SDK工具和ADT到17,现在得到VerifyErrors
- 13. 如何根据X,Y得到的对象中的视图(touchesMoved)
- 14. 找到所有的对,使得x^2 + Y^2 = <N^2
- 15. 的Mnesia得到场
- 16. 得到枚举场
- 17. 取代方法中没有得到x和y的值(即(10和5))?
- 18. Angular2localization没有得到现场数据
- 19. sudo易于得到更新检查包
- 20. Java动画故障得到鼠标的x和y坐标
- 21. 这是否得到随机的x和y坐标
- 22. XY-Pad得到X和Y NPE错误(已解决)
- 23. 我们如何从转换矩阵得到x和y?
- 24. C++的WndProc得到消息X和Y坐标
- 25. 对于DelayedExpansion变量值得到存储
- 26. 值得从utf8_general_c更新到utf8_unicode_ci的SQL?
- 27. Tetbox值没有得到更新?
- 28. 打印时数值未得到更新
- 29. 微调值没有得到更新onRestart()
- 30. NodeList值没有得到更新?