0

我正在编写一些代码来覆盖Activity.

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

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

我怎样才能做到这一点?

在这里,我尝试将0用于进入动画,但它不起作用。

4

1 回答 1

1

您只需要通过从 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);
}}

创建一个 res 目录名称为 anim。并将 .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" />

于 2017-05-31T09:49:37.810 回答