WP开发实例:连续两次点击返回键退出程序的设计
就目前而言,大多数的wp软件在退出时都会弹出一个MessageBox来提示用户是否退出软件,不过最近一两个月,如uc和qq都改用两次点击返回键退出的设计了。这样体验上有了明显的提升。我也大致写了一下,不过感觉自己没写好,效率有点低,做个抛砖引玉的作用吧!
其实这个思路很简单,就是在第一次按下返回键的时候,添加一个计时器,如果在规定时间内再次按下返回键,则退出程序.
贴代码:
首先在构造函数前添加:
DispatcherTimer dt = new DispatcherTimer();
bool IsExit = false;
然后在构造函数里添加:
dt.Interval = TimeSpan.FromSeconds(2);
dt.Tick += (s, e) =>
{
if (IsExit)
{
IsExit = false;
dt.Stop();
}
};
然后重载返回键:
protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
base.OnBackKeyPress(e);
if (!IsExit)
{
ExitSB.Begin();
IsExit = true;
dt.Start();
e.Cancel = true;
}
else
{
dt.Stop();
ExitSB.Stop();
}
}
ExitSB是一个第一次按返回键的提示动画,类似UC浏览器那样.也可以换成其他的做提示。就不贴Demo了。