我有
if(eventCode == TouchEvent.DOWN)
{
//code
}
if(eventCode == TouchEvent.MOVE)
{
//code
}
if(eventCode == TouchEvent.UP)
{
//code
}
if(eventCode == TouchEvent.GESTURE)
{
if (gestureCode == TouchGesture.PINCH_END)
{
//code
}
}
问题是,捏合会触发DOWN -> GESTURE -> UP
向下移动的事件用于拖动地图。
Pinch用于放大/缩小的位置。
如何将它们分开?
答案 0 :(得分:1)
使用PINCH_BEGIN
。我设置了一个全局myMode
变量,告诉它处于捏合模式。所以MOVE
和UP
无法解雇。
然后捏起来,重置模式。
if(eventCode == TouchEvent.DOWN)
{
mode = 1;
//code
}
if(eventCode == TouchEvent.MOVE && mode == 1)
{
//code
}
if(eventCode == TouchEvent.UP && mode == 1)
{
mode = 0;
//code
}
if(eventCode == TouchEvent.GESTURE)
{
if (gestureCode == TouchGesture.PINCH_BEGIN)
{
mode = 2;
}
if (gestureCode == TouchGesture.PINCH_END)
{
mode = 0;
//code
}
}
这种MOVE运行方式:
DOWN -> MOVE -> UP
和捏运行:
DOWN -> DOWN -> PINCH_BEGIN -> PINCH_END
(PINCH_BEGIN
在尝试调用MOVE
之前执行。因此被新模式覆盖)