Android Activity 的二种方式切换动画

                                         Android Activity 的二种方式切换动画

Android系统默认Activity间的动画切换效果为,右边滑入,左边滑出.如果我们需要一些其他的效果就需要自己去定义一些动画了.

下面介绍两种实现的方式:
第一种:   使用Theme自定义切换动画
 
 
1  .   在res文件下建立 animo文件夹(studio)  --如果是eclipse建立anim文件夹, 在里面建立动画资源.
anim_in.xml
  
  
  
  
<?xml version= "1.0" encoding= "utf-8" ?>
<set xmlns:android= "http://schemas.android.com/apk/res/android" >
 
 
    <scale
        android:duration= "200"
        android:fromXScale= "0.7"
        android:fromYScale= "0.7"
        android:interpolator= "@android:anim/accelerate_decelerate_interpolator"
        android:pivotX= "50%"
        android:pivotY= "50%"
        android:toXScale= "1"
        android:toYScale= "1" />
 
 
    <alpha
        android:duration= "200"
        android:fromAlpha= "0"
        android:toAlpha= "1.0" />
 
 
</set>
anim_out.xml
  
  
  
  
<?xml version= "1.0" encoding= "utf-8" ?>
<set xmlns:android= "http://schemas.android.com/apk/res/android"  >
 
     <scale
         android:duration= "200"
         android:fromXScale= "1"
         android:fromYScale= "1"
         android:interpolator= "@android:anim/accelerate_decelerate_interpolator"
         android:pivotX= "50%"
         android:pivotY= "50%"
         android:toXScale= "0.7"
         android:toYScale= "0.7" />
 
     <alpha
         android:duration= "200"
         android:fromAlpha= "1"
         android:toAlpha= "0" />
 
</set>
2. 在values文件夹下定义style样式:  
  1. <style name="Anim_fade" parent="android:Theme.NoTitleBar">  
  2.        <item name="android:windowAnimationStyle">@style/fade</item>  
  3.    </style>  
  4.   
  5.    <style name="fade" parent="@android:style/Animation.Activity">  
  6.        <item name="android:activityOpenEnterAnimation">@animtor/anim_in</item>  
  7.        <item name="android:activityOpenExitAnimation">@animtor/anim_out</item>  
  8.        <item name="android:activityCloseEnterAnimation">@animtor/anim_in</item>  
  9.        <item name="android:activityCloseExitAnimation">@animtor/anim_out</item>  
  10.    </style>  
3. 在清单文件AndroidManifest.xml中所要使用动画的activity的声明中加上android:theme="@style/Anim_fade"
  • <?xml version="1.0" encoding="utf-8"?>  
  • <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  •     package="com.example.customanimationforactivity"  
  •     android:versionCode="1"  
  •     android:versionName="1.0" >  
  •   
  •     <uses-sdk  
  •         android:minSdkVersion="10"  
  •         android:targetSdkVersion="10" />  
  •   
  •     <application  
  •         android:allowBackup="true"  
  •         android:icon="@drawable/ic_launcher"  
  •         android:label="@string/app_name"  
  •         android:theme="@android:style/Theme.NoTitleBar" >  
  •         <activity  
  •             android:name="com.example.customanimationforactivity.MainActivity"  
  •             android:label="@string/app_name"  
  •             android:theme="@style/Anim_fade" >  
  •             <intent-filter>  
  •                 <action android:name="android.intent.action.MAIN" />  
  •                 <category android:name="android.intent.category.LAUNCHER" />  
  •             </intent-filter>  
  •         </activity>  
  •         <activity android:name=".TwoActivity" android:theme="@style/Anim_fade" >  
  •         </activity>  
  •     </application>  
  •   
  • </manifest> 
  • 第二种: 代码中实现

    Activity A跳转到Activity B,要在startActivity(intent)后面加上overridePendingTransition(R.anim.anim_in, R.anim.anim_out);

    Activity B返回Activity A,要在finish()后面加上overridePendingTransition(R.anim.anim_in, R.anim.anim_out);

    anim_in是进入的Activity的动画,anim_out是退出的Activity的动画。

    你可能感兴趣的:(Activity,的二种方式切换动画)