我必须在我的应用程序中使用两种类型的输入(手势和简单的触摸)。我遇到了问题。例如,我使用双击手势,在它检测到之前,我检测到了一个简单的触摸。这不是我期望的那样,因为简单的触摸有它自己的逻辑,这给我带来了很多问题。拖动同样的问题,在再次检测到拖动之前首先检测到简单的触摸。我如何在不处理简单触摸逻辑的情况下处理手势。这是我尝试这样做的方式:
TouchPanel.EnabledGestures = GestureType.DoubleTap | GestureType.VerticalDrag;
while (TouchPanel.IsGestureAvailable)
{
isGesture = true;
GestureSample gestureSample = TouchPanel.ReadGesture();
switch (gestureSample.GestureType)
{
case GestureType.DoubleTap:
//some logic
break;
case GestureType.HorizontalDrag:
//some logic
break;
}
}
if (Consts.TouchCollection.Count == 1)
{
var touch = Consts.TouchCollection[0]; //here needed only first touch
switch (touch.State)
{
case TouchLocationState.Pressed:
//This one called first if used double tap
break;
case TouchLocatiomState.Moved:
//smth
break;
case TouchLocationState.Released:
//smth
break;
}
}
当使用双击手势时,此代码调用 Pressed -> Released -> DoubleTap -> Pressed 我只想处理双击情况。如何解决这个问题?对我的英语感到抱歉,希望我的问题很清楚。任何帮助将不胜感激