首页 > 其他 > 详细

Xamarin 自定义OnKeyDown 再按一次退出程序的实现

时间:2019-08-06 11:29:00      阅读:225      评论:0      收藏:0      [点我收藏+]
private DateTime? lastBackKeyDownTime;

public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
        {
            if (keyCode == Keycode.Back && e.Action == KeyEventActions.Down && e.RepeatCount == 0)
            {
                var backPressed = DateTime.Now;
                var navigation = App.Current.MainPage.Navigation;
                if (navigation.NavigationStack.Count > 1)
                {
                    navigation.PopAsync();
                    OnBackPressed();
                    return false;
                }
                else if (!lastBackKeyDownTime.HasValue || backPressed.Subtract(lastBackKeyDownTime.Value).Seconds > 3)
                {
                    lastBackKeyDownTime = backPressed;
                    var toast = Toast.MakeText(this, "再按一次退出程序", ToastLength.Short);
                    toast.SetGravity(GravityFlags.Center, 0, 0);
                    toast.Show();
                }
                else
                {
                    Finish();
                }
                return true;
            }
            return base.OnKeyDown(keyCode, e);
        }

   public override void OnBackPressed()
   {
            Rg.Plugins.Popup.Popup.SendBackPressed(base.OnBackPressed);
   }

 

Xamarin 自定义OnKeyDown 再按一次退出程序的实现

原文:https://www.cnblogs.com/mschen/p/11307739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!