Подтвердить что ты не робот

OverridePendingTransition показывает вторую активность слишком быстро

У меня есть 2 действия, и я хочу создать анимированный переход между двумя действиями, так что оба вида активности скользят вверх, как если бы второе действие продвигало первую активность вверх. в моем первом действии я использую:

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. Я использую textviews... Я думаю, что делает слишком быстро? Я также использую Motorola Razr, а не то, что это имеет значение.

4b9b3361

Ответ 1

Nevermind, это была глупая ошибка - я не понимал, что означала документация под названием "ввод анимации" и "выход из анимации". Мне нужно поменять xmls, изменив:

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

в

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

Ответ 2

просто добавьте их в свой файл slide2.xml:

android:startOffset="2000"

таким образом анимация для 2-го действия начнется сразу после завершения 1-й анимации активности.