OverrideingPendingTransition android 实现

OverrideingPendingTransition android implementation

我正在编写一些代码来覆盖 Activity 的默认进入和退出动画。

我正在使用 OverridePendingTransition 来完成这个任务 在这里,我正在从 Activity1 过渡到 Activity2。

我想要的是,Activity1 应该从右向左移动,而 Activity2 应该一直出现在它后面,没有任何动画。

我怎样才能做到这一点?

这里我试过把0用于进入动画,但是没用

您只需要通过从 Activty1 移动到 Activity2 来调用动画函数。

public class AnimUtils {
/*Right to Left Slide Animation*/
public static void rightToLeftAnimation(Activity activity) {
    activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
/*Left to Right*/
public static void leftToRightAnimation(Activity activity) {
    activity.overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}}

创建一个名为 anim 的 res 目录。并将 .xml 文件放在该目录中。

这里是slide_in_right.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:duration="500"
    android:fromXDelta="100%"
    android:toXDelta="0%" />
<alpha
    android:duration="500"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

slide_out_left.xml动画

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:duration="500"
    android:fromXDelta="0%"
    android:toXDelta="-100%" />
<alpha
    android:duration="500"
    android:fromAlpha="1.0"
    android:toAlpha="0.0" />

和 slide_in_left.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:duration="500"
    android:fromXDelta="-100%"
    android:toXDelta="0%" />
<alpha
    android:duration="500"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

还有 slide_out_right.xml,请记住,您可以通过在上面的代码中移动动画的位置来更改动画。

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:duration="500"
    android:fromXDelta="0%"
    android:toXDelta="100%" />
<alpha
    android:duration="500"
    android:fromAlpha="1.0"
    android:toAlpha="0.0" />