在另一个Activity的后面开始一个Activity来过渡动画

时间:2016-01-25 16:32:24

标签: android animation android-activity transitions

对于我的应用,我试图揭示前面显示的实际ContentActivity - IntroActivity。我很乐意将ContentActivity的感觉建立在IntroActivity背后,然后IntroActivity消失在底层,而ContentActivity已经落后于它。

我试过overridePendingTransition(),这对我不起作用。现在从ContentActivity开始调用IntroActivity,看起来像这样:

    private void startContentActivity() {
        ContentActivity.launch(this);
        finish();
        overridePendingTransition(R.anim.do_not_move, R.anim.disappear_to_bottom);
    }

当我将动画更改为

overridePendingTransition(R.anim.appear_from_left, R.anim.disappear_to_right);

它按预期工作(ContentActivity从右侧进入,IntroActivity从右侧进入)。但是,第一个片段根本不会产生过渡动画。

为了更好地理解,这里是动画资源:

R.anim.do_not_move

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromYDelta="0"
    android:toYDelta="0"
    android:duration="@android:integer/config_mediumAnimTime" />
</set>

R.anim.disappear_to_bottom

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromYDelta="0%p"
    android:toYDelta="100%p"
    android:duration="@integer/main_animations_timing" />
</set>

R.anim.disappear_to_right

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="0%p"
    android:toXDelta="100%p"
    android:duration="@integer/main_animations_timing" />
</set>

R.anim.appear_from_left

<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="-100%p"
    android:toXDelta="0%p"
    android:duration="@integer/main_animations_timing" />
</set>

有人有想法吗?我应该之前启动ContentActivity还是有更好的方法来实现这一目标?

0 个答案:

没有答案