按两下返回键退出,退出多个activity,添加退出动画

来源:互联网 发布:vmware网络连接方式 编辑:程序博客网 时间:2024/06/17 22:08
按两下返回键退出,退出多个activity,添加退出动画


现在有很多软件在你按返回键的时候会提示“再按一下退出程序”之类的提示,其实实现很简单,代码如下:
    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>



我也是新手,有什么不对的地方欢迎反馈!谢谢大家的支持!


欢迎带地址转发。。谢谢!

1 0
原创粉丝点击