向左推

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// R.anim.i_slide_in_left
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="100%p"
	android:toXDelta="0"
	android:duration="350"/>
</set>

// R.anim.i_slide_out_left
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="0"
	android:toXDelta="-100%p"
	android:duration="350"/>
</set>

向右推

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// R.anim.i_slide_in_right
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="-100%p" 
	android:toXDelta="0" 
	android:duration="350"/>
</set>


// R.anim.i_slide_out_right
<set xmlns:android="http://schemas.android.com/apk/res/android">
	<translate 
	android:fromXDelta="0" 
	android:toXDelta="100%p" 
	android:duration="350"/>
</set>

从底部到顶部

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// R.anim.push_up_in
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="300"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

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

</set>

// R.anim.push_up_out
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="300"
        android:fromYDelta="0"
        android:toYDelta="0" />

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

</set>

从顶部到顶部

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// R.anim.push_down_in
<set xmlns:android="http://schemas.android.com/apk/res/android" >

      <translate
        android:duration="300"
        android:fromYDelta="0%"
        android:toYDelta="0%" />

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

</set>

// R.anim.push_down_out
<set xmlns:android="http://schemas.android.com/apk/res/android" >
 <translate
        android:duration="300"
        android:fromYDelta="0"
        android:toYDelta="100%p" />
    <alpha
        android:duration="300"
        android:fromAlpha="1.0"
        android:toAlpha="1.0" />
</set>

透明度渐变进入

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
// R.anim.fade_in
<set xmlns:android="http://schemas.android.com/apk/res/android">

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

</set>

//  R.anim.fade_out
<set xmlns:android="http://schemas.android.com/apk/res/android">

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

</set>

使用方式

退出

1
2
3
finish()
// 在 finish 后调用
overridePendingTransition(xx_in, xx_out)

进入

1
2
3
startActivityForResult(intent1, REQUEST_MUSIC_CODE)
// 在 startActivity 后调用
overridePendingTransition(xx__in, xx_out)

或者是在清单文件中配置

1
2
3
4
5
6
7
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowAnimationStyle">@style/AnimActivityOptions</item>
</style>
1
2
3
4
<style name="AnimActivityOptions" parent="@android:style/Animation.Activity">
        <item name="android:activityOpenEnterAnimation">@anim/slide_left_in</item>
        <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>
1
2
3
4
android:activityOpenEnterAnimation   一个 activity 创建进入的效果。
android:activityOpenExitAnimation    一个 activity 进入,另外一个 activity 的退出的效果
android:activityCloseEnterAnimation  一个 activity 退出,另外一个 activity 进入的效果
android:activityCloseExitAnimation   一个 activity 退出的效果