Am using DispatchTouchEvent and need to detect a single tap, for that considered the down point and up point, when both are same, detected the single tap.
But this works fine in some android devices, but in some device, there in a pixel difference in down and up point. How to overcome this?
public override bool DispatchTouchEvent(MotionEvent e)
{
if (e.Action == MotionEventActions.Down)
{
touchDownPoint = new Xamarin.Forms.Point(e.GetX(), e.GetY());
}
else if (e.Action == MotionEventActions.Up)
{
var position = new Xamarin.Forms.Point(e.GetX(), e.GetY());
if (touchDownPoint == position) // this condition not gets satisfied in some devices
{
// single tap detected.
}
}
else if (e.Action == MotionEventActions.Move)
{
}
return base.DispatchTouchEvent(e);
}
question from:
https://stackoverflow.com/questions/65918863/how-to-detect-the-single-tap-in-dispatchtouchevent-method-in-forms-android 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…