Android的Activity动画切换

   Android中各个Activity切换时,一般资料介绍都是使用
  
 overridePendingTransition(int enterAnim, int exitAnim)

方法。但实际使用时,这么做。非常繁琐。
   可以在AndroidManifest.xml中统一设置该应用的theme,然后在theme中配置切换动画。具体如下:
    1、在manifest中配置:
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/[b]AppTheme[/b]">
     ......


    2、在values/styles的 AppTheme中添加
<item name="android:windowAnimationStyle">@style/activityAnimation</item>

    3、同样,在下面添加Activity的各个切换动画定义。
   <style name="activityAnimation" parent="@android:style/Animation">
        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>
        <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
        <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
        <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
    </style>


    4、slide_left_in等四个动画文件的定义类似如下:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromXDelta="-100.0%"
        android:toXDelta="0.0" />
</set>


   在实际使用时。注意切换Activity时,要先startActivity,再finish当前activity。否则动画会失效。


猜你喜欢

转载自godjohnny.iteye.com/blog/2255815