Android 动画之activity动画
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" > <translate android:fromXDelta="100%" android:toXDelta="0.0" ></translate> </set>slide_out_left——从左边出去的动画过程:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300"> <translate android:fromXDelta="0.0" android:toXDelta="-100%" ></translate> </set>好了,关于activity进入和退出的动画过程已经配置好了,现在我们需要做的就是让activity如何按照我们配置的动画过程执行动画,显示动画效果出来。在执行动画之前我们要了解清楚动画效果在哪里产生效果:
在介绍activity的切换动画之前我们先来说明一下实现切换activity的两种方式:
-
调用startActivity方法启动一个新的Activity并跳转其页面
-
调用finish方法销毁当前的Activity返回上一个Activity界面
当调用startActivity方法的时候启动一个新的activity,这时候就涉及到了旧的Activity的退出动画和新的Activity的显示动画;
当调用finish方法的时候,销毁当前Acitivity,就涉及到了当前Activity的退出动画和前一个Activity的显示动画;
所以我们的activity跳转动画是分为两个部分的:一个Activity的销毁动画与一个Activity的显示动画,明白了这一点之后我们开始看一下第一种实现Activity跳转动画的方式:通过overridePendingTransition方法实现Activity切换动画。
一 、overridePendingTransition
这种方式很简单的,它会在startactivity和finish方法后执行
intent.setClass(this,SecondActivity.class); startActivity(intent); overridePendingTransition(R.anim.slide_in_right,R.anim.slide_out_left);二 、使用style方式实现切换动画
<style name="SWIPE" parent="AppTheme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowAnimationStyle">@style/ActivityAnim</item> </style> <style name="ActivityAnim"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> </style>我们通过style定义了windowAnimotionStyle的动画过程,我们再来了解下windowA你motion的四种动画:
activityOpenEnterAnimation // 用于设置打开新的Activity并进入新的Activity展示的动画
activityOpenExitAnimation // 用于设置打开新的Activity并销毁之前的Activity展示的动画
activityCloseEnterAnimation // 用于设置关闭当前Activity进入上一个Activity展示的动画
activityCloseExitAnimation // 用于设置关闭当前Activity时展示的动画
最后我们在配置文件中配置activity的动画主题
<activity android:name=".ThreeActiviyt" android:theme="@style/SWIPE"></activity>这两种activity之间的切换动画实现方式比较简单,其实在Android5.0之后,对于动画的效果有所提高,新的实现方式已经有了,但是我没有了解很多,就说到这里,有朋友想了解更多的有关切换动画的实现可以看看这篇 文章。