AndroidのActivityアニメーション切り替え

1831 ワード

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など4つのアニメーションファイルの定義は以下のようになります.
<?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に移動します.アニメーションが無効になります.