安卓activity切换动画
方式一:overridePendingTransition (int enterAnim, int exitAnim)
从Android2.0开始在Activity增加了一个方法overridePendingTransition (int enterAnim, int exitAnim)其中:enterAnim 定义Activity进入屏幕时的动画,exitAnim 定义Activity退出屏幕时的动画.
在res/anim/建2个xml文件,一个用来表示activity进入时的动画,还有一个表示activity退出时的动画.注意overridePendingTransition方法的调用时机必须放在startActivity()和finish()方法之后.
示例1.向右滑动切换效果
1.1 从第二个activity从右侧进入动画right_in.xml
<?xml version = "1.0" encoding = "utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<translate android:fromXDelta="100%p" android:toXDelta="0%p"
android:interpolator="@android:anim/accelerate_interpolator"/>
</set>
1.2 第一个activity从屏幕中间向左退出时动画.left_out.xml<?xml version = "1.0" encoding = "utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000">
<translate android:fromXDelta="0%p" android:toXDelta="-100%p"
android:interpolator="@android:anim/accelerate_interpolator"/>
</set>
1.3java代码使用
overridePendingTransition(R.anim.right_in,R.anim.left_out)
方式二:在主题中修改activity切换动画
在清单文件中配置theme属性,自定义一个样式就可以了
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
在res/values/styles.xml定义一个样式继承Animation.Activity,然后分别定义4个item,item四个属性的意思大概是这样的,假设有2个activity,分别叫做A,B.A页面启动B页面时,A会在页面消失,B会在页面呈现,这时候A会执行android:activityOpenExitAnimation动画效果
而B会执行android:activityOpenEnterAnimation.这是打开新页面的操作.如果从B页面开始返回到A页面,这时候B页面会消失在屏幕上,而A页面会重新进入到页面上去,这时候对于B来说执行的是退出操作,所以会走android:activityCloseExitAnimation这个动画,对于A来说是从原来的关闭状态重新进入屏幕,所以走的是android:activityCloseEnterAnimation动画效果
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/push_left_in</item>
<item name="android:activityOpenExitAnimation">@anim/push_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/push_right_in</item>
<item name="android:activityCloseExitAnimation">@anim/push_right_out</item>
</style>
定义完以上样式后,请在res/anim/目录下分别定义4个动画切换的文件.这里可以根据自己的喜好进行自定义.定义完成之后,在AndroidMenifest.xml清单文件修改原来的主题样式.修改
android:theme="@style/AnimationActivity"
上一篇: 维护关系:面对婚姻问题该怎么处理?
下一篇: 安卓Fragment的切换