Activity按两次返回键退出与Activity进入与退出的动画

来源:互联网 发布:网络推广的收费标准 编辑:程序博客网 时间:2024/06/06 00:08

Activity按两次返回键退出

  1. package com.anjoyo.test;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.KeyEvent;
  5. import android.widget.Toast;

  6. public class TestActivity extends Activity {
  7.         private long mExitTime;

  8.         public void onCreate(Bundle savedInstanceState) {
  9.                 super.onCreate(savedInstanceState);
  10.                 setContentView(R.layout.main);

  11.         }
  12.         
  13.         public boolean onKeyDown(int keyCode, KeyEvent event) {
  14.                 if (keyCode == KeyEvent.KEYCODE_BACK) {
  15.                         if ((System.currentTimeMillis() - mExitTime) > 2000) {
  16.                                 Object mHelperUtils;
  17.                                 Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
  18.                                 mExitTime = System.currentTimeMillis();

  19.                         } else {
  20.                                 finish();
  21.                         }
  22.                         return true;
  23.                 }
  24.                 return super.onKeyDown(keyCode, event);
  25.         }
  26. }


 

Activity进入与退出的动画

1.在res建立目录anim放入动画效果xml文件

   1.1   进入文件  push_left_in.xml 

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <translate  
  5.         android:duration="300"  
  6.         android:fromXDelta="100%p"  
  7.         android:toXDelta="0" />  
  8.   
  9.     <alpha  
  10.         android:duration="300"  
  11.         android:fromAlpha="0.0"  
  12.         android:toAlpha="1.0" />  
  13.   
  14. </set>  
  1.2  退出文件  push_left_out.xml

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <translate  
  5.         android:duration="300"  
  6.         android:fromXDelta="0"  
  7.         android:toXDelta="-100%p" />  
  8.   
  9.     <alpha  
  10.         android:duration="300"  
  11.         android:fromAlpha="1.0"  
  12.         android:toAlpha="0.0" />  
  13.   
  14. </set>  
  1.3  activity退出的效果  zoom_enter.xml  

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:interpolator="@android:anim/decelerate_interpolator" >  
  4.   
  5.     <scale  
  6.         android:duration="@android:integer/config_mediumAnimTime"  
  7.         android:fromXScale="2.0"  
  8.         android:fromYScale="2.0"  
  9.         android:pivotX="50%p"  
  10.         android:pivotY="50%p"  
  11.         android:toXScale="1.0"  
  12.         android:toYScale="1.0" />  
  13.   
  14. </set>  
   1.4  zoom_exit.xml

[java] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:interpolator="@android:anim/decelerate_interpolator"  
  4.     android:zAdjustment="top" >  
  5.   
  6.     <scale  
  7.         android:duration="@android:integer/config_mediumAnimTime"  
  8.         android:fromXScale="1.0"  
  9.         android:fromYScale="1.0"  
  10.         android:pivotX="50%p"  
  11.         android:pivotY="50%p"  
  12.         android:toXScale=".5"  
  13.         android:toYScale=".5" />  
  14.   
  15.     <alpha  
  16.         android:duration="@android:integer/config_mediumAnimTime"  
  17.         android:fromAlpha="1.0"  
  18.         android:toAlpha="0" />  
  19.   
  20. </set>  
2. 建立style文件

[java] view plain copy
  1. <style name="ThemeActivity">  
  2.        <item name="android:windowAnimationStyle">@style/AnimationActivity</item>  
  3.        <item name="android:windowNoTitle">true</item>  
  4.    </style>  
  5.   
  6.    <style name="AnimationActivity" parent="@android:style/Animation.Activity">  
  7.        <item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>  
  8.        <item name="android:activityOpenExitAnimation">@anim/push_left_out</item>  
  9.        <item name="android:activityCloseEnterAnimation">@anim/zoom_enter</item>  
  10.        <item name="android:activityCloseExitAnimation">@anim/zoom_exit</item>  
  11.    </style>  

3.在Application中调用主题

<application
        Android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/ThemeActivity"
        >







1 0