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, а не то, что это имеет значение.
Ответы
Ответ 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-й анимации активности.