按两下返回键退出,退出多个activity,添加退出动画
现在有很多软件在你按返回键的时候会提示“再按一下退出程序”之类的提示,其实实现很简单,代码如下:
直接放到你的activity中就可以实现了。
退出多个activity,其实就是每次打开activity的时候就把这个activity加入到列表中,当要退出的时候就通过列表把所有的activity都一一finish()掉。代码如下,新建个类:
每次打开新的activity的时候就调用addActivity这个方法,当要关闭所有的activity的时候就调用exit这个方法!
添加退出动画,我们退出activity的时候都要调用finish(),所有我们就可以重写这个方法,添加一些动画效果。代码如下:
现在有很多软件在你按返回键的时候会提示“再按一下退出程序”之类的提示,其实实现很简单,代码如下:
long mExitTime = 0; /** 点击两下返回键退出程序 */ public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if ((System.currentTimeMillis() - mExitTime) > 2000) { Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show(); mExitTime = System.currentTimeMillis(); Log.e("tag",mExitTime+""); } else { finish(); } return true; } return super.onKeyDown(keyCode, event); }
直接放到你的activity中就可以实现了。
退出多个activity,其实就是每次打开activity的时候就把这个activity加入到列表中,当要退出的时候就通过列表把所有的activity都一一finish()掉。代码如下,新建个类:
/**Activity列表,用于关闭程序*/ public class MyApplication extends Application { private List<Activity> activitylsit=new LinkedList<Activity>(); private static MyApplication instance; private MyApplication(){} public static MyApplication getInstance(){ if (null==instance) { instance=new MyApplication(); } return instance; } public void addActivity(Activity activity) { activitylsit.add(activity); } public void exit() { for(Activity activity:activitylsit){ activity.finish(); } System.exit(0); } }
每次打开新的activity的时候就调用addActivity这个方法,当要关闭所有的activity的时候就调用exit这个方法!
添加退出动画,我们退出activity的时候都要调用finish(),所有我们就可以重写这个方法,添加一些动画效果。代码如下:
/**退出程序*/ public void finish(){ super.finish(); //添加动画 overridePendingTransition(R.anim.rotate_left_in, R.anim.rotate_left_out); }
动画可以自己写,下面是的动画,复制后改文件名即可。
rotate_left_in
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:duration="800" android:fromAlpha="0.0" android:toAlpha="1.0"/> </set>
<pre style="font-family: 宋体; font-size: 11.3pt; color: rgb(169, 183, 198); background-color: rgb(43, 43, 43);"><span style="color: rgb(152, 118, 170);"><em>rotate_left_out</em></span>
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <rotate android:duration="1000" android:fromDegrees="-360" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:pivotX="50%" android:pivotY="50%" android:toDegrees="+3600"/> <scale android:duration="1000" android:fromXScale="0.6" android:fromYScale="0.6" android:pivotX="50%p" android:pivotY="50%p" android:toXScale=".0" android:toYScale=".0"/> </set>
我也是新手,有什么不对的地方欢迎反馈!谢谢大家的支持!
欢迎带地址转发。。谢谢!