overridePendingTransition показывает второе действие слишком быстро

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

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

и мой slide.xml выглядит так:

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

и мой slide2.xml выглядит так:

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

ОДНАКО проблема заключается в том, что когда "startActivity" вызывается, представление второго действия уже визуализируется, в то время как переход только начинает скользить. Мне бы хотелось, чтобы вид первого действия скользил вверх ... но вместо этого я вижу вид второго вида деятельности (отображаемый поверх вида первого действия) вверх.

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

Это трудно объяснить, поэтому, пожалуйста, дайте мне знать, если я смогу объяснить что-нибудь более подробно. извиняюсь за любую путаницу, и спасибо за чтение этого.

Постскриптум я использую textviews ... я думаю, это слишком быстро? Я также использую Motorola Razr, не то чтобы это имело значение.

Ответы на вопрос(2)

android:startOffset="2000"

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

 David T.13 апр. 2012 г., 01:33
однако я не знал, что вы можете отложить анимацию. это довольно полезно. +1
 David T.13 апр. 2012 г., 01:32
Извините, я не совсем понял свой вопрос. Я думал, что проблема заключается в слишком быстром рендеринге. но оказывается, что я просто не понял, что они имели в виду под "вводом анимации"; параметры в вызове для «overridePendingTransition».
Решение Вопроса

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

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

в

FirstActivity.this.overridePendingTransition(R.anim.slide2, R.anim.slide);
 11 дек. 2016 г., 08:53
Я также столкнулся с той же проблемой, но решен вашим ответом, но это очень странно. В любом случае, спасибо
 20 окт. 2014 г., 10:23
есть ли способ использовать Animator вместо этого?

Ваш ответ на вопрос