今天说一下如何用Theme设置activity切换时候的动画效果
首先在res文件夹下建立anim文件夹,然后在里面建立四个xml文件(四个动画
- 打开activity,设置activity进入展示动画
activity_open_enter
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0" />
* 打开activity,设置上个activity离开动画
activity_open_exit
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="100%p"
android:toXDelta="0" />
* 结束activity,设置上个activity进入动画
activity_close_enter
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="-100%p"
android:toXDelta="0" />
* 结束activity,设置当前activity离开动画
activity_close_exit
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_mediumAnimTime"
android:fromXDelta="0"
android:toXDelta="100%p" />
然后在values目录下的styles.xml中配置
示例
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowAnimationStyle">@style/ActivityAnimation</item>
</style>
<!-- Activity动画 -->
<style name="ActivityAnimation" parent="android:Animation.Activity">
<!-- 打开activity,设置activity进入展示动画-->
<item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</item>
<!--打开activity,设置上个activity离开动画-->
<item name="android:activityOpenExitAnimation">@anim/activity_open_exit</item>
<!--结束activity,设置上个activity进入动画-->
<item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</item>
<!--结束activity,设置当前activity离开动画-->
<item name="android:activityCloseExitAnimation">@anim/activity_close_exit</item>
</style>
</resources>
最后一步在AndroidManifest.xml中的Activity的声明上加入android:theme=”@style/AppTheme”
示例
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>