Android overridePendingTransition显示第二个活动太快

Android overridePendingTransition显示第二个活动太快,android,android-layout,animation,transition,android-animation,Android,Android Layout,Animation,Transition,Android Animation,我有两个活动,我想在两个活动之间创建一个动画过渡,这样两个活动的视图都会向上滑动,就像第二个活动将第一个活动向上推一样。在我的第一个活动中,我使用: Intent iSecondActivity = new Intent(FirstActivity.this,SecondActivity.class); FirstActivity.this.startActivity(iSecondActivity); FirstActivity.this.overridePendingTransition(R

我有两个活动,我想在两个活动之间创建一个动画过渡,这样两个活动的视图都会向上滑动,就像第二个活动将第一个活动向上推一样。在我的第一个活动中,我使用:

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>
<?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>

我的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="0"
        android:toYDelta="-100%p"
        android:duration="2000"
    />
</set>
<?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”时,第二个活动的视图已经呈现,而转换刚刚开始滑动。我想看到第一个活动的视图向上滑动。。。但我看到的是第二个活动的视图(在第一个活动的视图上呈现)向上滑动

第二个问题是,我认为替换视图是第一个活动的视图。我希望替换视图是第二个向上推进的活动视图

这很难解释,所以如果我能解释得更详细,请告诉我。对于任何困惑,我深表歉意,感谢您阅读本文


另外,我正在使用文本视图。。。我猜渲染得太快了吧?我也在使用摩托罗拉Razr,这并不重要。

只需将这些添加到slide2.xml中即可:

android:startOffset="2000"

这样,第二个活动的动画将仅在第一个活动的动画完成后立即开始。

不过,这是一个愚蠢的错误-我不理解文档中“进入动画”与“退出动画”的含义。我需要通过更改以下内容来交换XML:

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


对不起,我的问题不清楚。我原以为问题在于视图渲染太快。但事实证明,我不明白调用“overridePendingTransition”时“输入动画”参数是什么意思。然而,我不知道可以延迟动画。这是非常有用的+1有没有办法改用Animator?我也遇到了同样的问题,但你的答案解决了,但很奇怪。无论如何,谢谢