2 y445937773 y445937773 于 2014.07.24 13:54 提问

overridePendingTransition只设置进入动画

以前跳转都用这个方法,进入和退出的activity都有动画效果。
但是现在遇到一个场景是,只需要进入activity的效果,不需要退出的activity动画效果,
试过了把第二个参数设为0,也试过把第二个动画的duration设置为0、1、10000,
甚至是fromXDelta="0%p" ,toXDelta="0%p"这样设置,也都不是我想要的效果。
是不是我方向错了,或者有别的跳转方法,网上一搜全是overridePendingTransition。

1个回答

zmywly
zmywly   2014.07.24 19:08

就个人经验而言,overridePendingTransition有时候不灵的,并且使用overridePendingTransition方法时必须将其放在finish()方法后面,建议你采用为activity设置主题的形式来为activity设置动画,我就经常采用这种方式,具体步骤如下:

1、在res/values/styles.xml文件下,创建一个activity进入退出的style动画效果,比如:

<!-- 窗口进入和退出动画都有 -->
 <style name="ActivityInOutAnimation" 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>

其中“android:activityOpenEnterAnimation、android:activityOpenExitAnimation、android:activityCloseEnterAnimation、android:activityCloseExitAnimation”为你为窗口设置的进入退出动画,其中后面的值为你自定义的动画效果,文件放在res/anim文件夹下。

2、在res/values/styles.xml文件下为activity自定义主题,并为其“android:windowAnimationStyle”的属性设置为1中定义的style,看代码:

<style name="NormalTheme" parent="android:Theme.Holo.Light.NoActionBar">
    <item name="android:windowAnimationStyle">@style/ActivityInOutAnimation</item> 
    <item name="android:windowEnableSplitTouch">false</item>
    <item name="android:splitMotionEvents">false</item>
</style>

3、在AndroidManifest.xml中为你需要使用2中自定义主题的activity设置主题,比如:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/NormalTheme">

</application>
liu2614332
liu2614332 - 假如一个Activity并不是调用startActivity()启动的 , 比如app的第一个Activity, 那么你可以在onResume()中调用overridePendingTransition , onResume()已经说了 "This is a good place to begin animations" - 假如一个Activity并不是由调用finish()来结束的,比如是用户按返回键返回的 , 那么你可以在 onPause()中调用overridePendingTransition ,
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片