Android Activity设置转场动画

overridePendingTransition

A跳转到B,在startActivity(intent)后面加上

1
overridePendingTransition(R.anim.anim_in, R.anim.anim_out);

B返回A,要在finish()后面加上

1
overridePendingTransition(R.anim.anim_in, R.anim.anim_out);
  • anim_in是进入Activity的动画
  • anim_out是退出Activity的动画

通过style配置(全局)

(1)在style.xml中自定义style

1
2
3
4
5
6
7
<!-- 默认Activity跳转动画 -->
<style name="default_animation" mce_bogus="1" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/default_anim_in</item>
<item name="android:activityOpenExitAnimation">@anim/anim_stay</item>
<item name="android:activityCloseEnterAnimation">@anim/anim_stay</item>
<item name="android:activityCloseExitAnimation">@anim/default_anim_out</item>
</style>

4个item分别代表:

  • Activity A跳转到Activity BActivity B进入动画
  • Activity A跳转到Activity BActivity A退出动画
  • Activity B返回Activity AActivity A的进入动画
  • Activity B返回Activity AActivity B的退出动画

(2)然后修改下AppTheme

1
2
3
4
<style name="AppTheme" parent="@android:style/Theme.Light">
<item name="android:windowAnimationStyle">@style/default_animation</item>
<item name="android:windowNoTitle">true</item>
</style>

(3)最后在appliction设置

1
2
3
4
<application
android:icon="@drawable/logo"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :