当前位置:  开发笔记 > 编程语言 > 正文

如何在Xamarin.Android上处理三倍(或配置的数字)轻击手势?

如何解决《如何在Xamarin.Android上处理三倍(或配置的数字)轻击手势?》经验,为你挑选了1个好方法。

我正在使用GestureDetector.SimpleOnGestureListener类来处理我的应用程序上的一些简单手势。而且效果很好。

但是现在我面临着处理多次轻击手势的问题。我只想配置NumbersOfTaps并处理适当的手势。

但找不到任何详细信息或说明如何在Andoid或Xamarin.Android文档上实现它。



1> wishmaster..:
            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
                }
            }

时间限制和点击次数是可配置的。

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有