首页 > 代码库 > Android Activity实现切换动画的两种方法

Android Activity实现切换动画的两种方法

方法一 overridePendingTransition(0,0)

 void android.app.Activity.overridePendingTransition(int enterAnim, int exitAnim)
Call immediately after one of the flavors of startActivity(Intent) or finish to specify an explicit transition animation to perform next.

Parameters:
enterAnim A resource ID of the animation resource to use for the incoming activity. Use 0 for no animation.
exitAnim A resource ID of the animation resource to use for the outgoing activity. Use 0 for no animation.
在Activity中提供了overridePendingTransition函数,用在startActivity(Intent) 和 finish之后。overridePendingTransition有两个参数,都是int类型的,意味着这里要传入一个资源。一个是进入的动画,一个是退出的动画,如果连个值都设置成0,则表示不添加动画。

animationdrable资源举例:

<?xml version="1.0" encoding="utf-8"?>
<!-- 左右滑入式 -->
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="300"
        android:fromXDelta="100%p"
        android:toXDelta="0" />

    <alpha
        android:duration="300"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

</set>

或考虑直接使用安卓自带的动画资源android.R.anim.*

方法二 android:theme

    <style name="ThemeActivity" mce_bogus="1">
        <item name="android:windowAnimationStyle">@style/ActivityAnimation</item>
        <item name="android:windowNoTitle">true</item>
    </style>

    <style name="ActivityAnimation" mce_bogus="1" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>
        <item name="android:activityOpenExitAnimation">@anim/anim_exit</item>
        <item name="android:activityCloseEnterAnimation">@anim/back_enter</item>
        <item name="android:activityCloseExitAnimation">@anim/back_exit</item>
    </style>
parent="@android:style/Animation.Activity"不可少,
  <item name="android:windowNoTitle">true</item>可选。

android:theme的使用

        <activity
            android:name="com.tpx.androiddemo.SecondActivity"
            android:label="@string/title_activity_second"
            android:theme="@style/ThemeActivity" >
        </activity>


Android Activity实现切换动画的两种方法