我正在使用GestureDetector.SimpleOnGestureListener
类来处理我的应用程序上的一些简单手势。而且效果很好。
但是现在我面临着处理多次轻击手势的问题。我只想配置NumbersOfTaps并处理适当的手势。
但找不到任何详细信息或说明如何在Andoid或Xamarin.Android文档上实现它。
DateTime _firstTap; int _tapCount = 0; const int TAP_COUNT_TRESHOLD = 5; //number of taps const int TIME_TRESHOLD 200; //ms time protected override void OnResume() { myButton.Clicked += ButtonTapped; } protected override void OnPause() { myButton.Clicked -= ButtonTapped; } void ButtonTapped(object sender, EventArgs e){ var time = Math.Round((DateTime.Now - _firstTap).TotalMilliseconds, MidpointRounding.AwayFromZero); if (time > TIME_TRESHOLD) { _tapCount = 1; _firstTap = DateTime.Now; } else _tapCount++; if (_tapCount == TAP_COUNT_TRESHOLD) { //do your logic here } }
时间限制和点击次数是可配置的。