大叔也说Xamarin~Android篇~监听返回键,单击返回某个webView,双击退出
这个操作在原生android里是很容易实现的,在xamarin里也不难,在activity里有方法OnKeyDown,我们只需要重写一下就可以了,然后通过webView重新加载到要返回的页面即可,当然操作有些死板,但还是有着不错的效果!
实现的原理就是在activity里设置一个时间,单击后把这个时间赋值并与当前时间进行比较,如果在2秒内,就认为是双击操作,当然这个时间间隔你可以自己设置,在认为是双击操作后,执行Finish()方法即可以返回到主窗口,当然,单击操作你也可以设置自己的行为,本例中是在webView中打开新的页面.
DateTime? lastBackKeyDownTime; public override bool OnKeyDown(Keycode keyCode, KeyEvent e) { if (keyCode == Keycode.Back && e.Action == KeyEventActions.Down) { if (!lastBackKeyDownTime.HasValue || DateTime.Now - lastBackKeyDownTime.Value > new TimeSpan(0, 0, 2)) { Toast.MakeText(this.ApplicationContext, "再按一次退出程序", ToastLength.Short).Show(); lastBackKeyDownTime = DateTime.Now; loadUrl("/Task/CurrentTaskList"); } else { Finish(); } return true; } return base.OnKeyDown(keyCode, e); }
对于知识来说,积累比天赋更重要~存储大叔