我有两个活动,我想在两个活动之间创建一个动画转换,以便两个活动的视图都向上滑动,就像第二个活动向上推动第一个活动一样。在我的第一个活动中,我使用:

Intent iSecondActivity = new Intent(FirstActivity.this,SecondActivity.class);
FirstActivity.this.startActivity(iSecondActivity);
FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2);

我的slide.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">
    <translate
        android:interpolator="@android:anim/decelerate_interpolator"
        android:fromYDelta="0"
        android:toYDelta="-100%p"
        android:duration="2000"
    />
</set>

我的slide2.xml看起来像:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator">
    <translate
         android:interpolator="@android:anim/decelerate_interpolator"
         android:fromYDelta="100%p"
         android:toYDelta="0"
         android:duration="2000"
    />
</set>

然而,问题是当调用“startActivity”时,第二个活动的视图已经呈现,而转换刚刚开始滑动。我想看第一个活动的视图向上滑动…但是相反,我看到第二个活动的视图(呈现在第一个活动的视图上)向上滑动。
第二个问题是,我看到替换视图是第一个活动的视图。我希望替换视图是向上推的第二个活动视图。
很难解释,如果我能更详细地解释,请告诉我。很抱歉有任何困惑,谢谢你读到这篇文章。
P.S.我正在使用文本视图…我想渲染得太快了吧?我也在使用摩托罗拉razr,这不重要。

最佳答案

毫无疑问,这是一个愚蠢的错误-我不明白文档中“输入动画”和“退出动画”是什么意思。我需要通过更改:

FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2);

进入之内
FirstActivity.this.overridePendingTransition(R.anim.slide2, R.anim.slide);

08-06 08:43