我最近在很多Android应用和游戏中都注意到了这种模式:当点击后退按钮"退出"应用程序时,Toast会出现类似于"请再次单击BACK退出"的消息.
我想知道,因为我越来越频繁地看到它是一个内置的功能,你可以以某种方式访问活动?我查看了许多类的源代码,但我似乎无法找到任何相关内容.
当然,我可以考虑几种方法来轻松实现相同的功能(最容易的是在活动中保留一个布尔值,表明用户是否已经点击过一次......)但是我想知道这里是否有东西.
编辑:正如@LAS_VEGAS所说,我并不是指传统意义上的"退出".(即终止)我的意思是"回到应用程序启动活动启动之前打开的任何东西",如果这是有意义的:)
我写了一段代码,如果他们想要退出,会给用户提示他们再次按下.我目前我的代码工作到一定程度,但我知道它写得很差,我认为有更好的方法来做到这一点.任何的意见都将会有帮助!
码:
public void onBackPressed(){
backpress = (backpress + 1);
Toast.makeText(getApplicationContext(), " Press Back again to Exit ", Toast.LENGTH_SHORT).show();
if (backpress>1) {
this.finish();
}
}
Run Code Online (Sandbox Code Playgroud) 在我的 MainActivity 中,我像这样覆盖了 OnBackPressed() 方法
public override void OnBackPressed()
{
Toast toast = Toast.MakeText(this, "Press again to exit", ToastLength.Short);
toast.SetMargin(0,0.20f);
toast.Show();
}
Run Code Online (Sandbox Code Playgroud)
当用户在 MainActivity 中并单击一次后退按钮时,屏幕上会出现消息“再次按下退出”,该消息在几秒钟后消失。如果用户在屏幕上显示此消息时再次单击后退按钮,我希望应用程序退出,但是当消息消失并且用户单击后退按钮时,我希望该消息再次出现。我已经看到一些在 Java 中这样做的示例,但我发现很难调整这些示例以在 Xamarin.Android 上工作。