Длительность overridePendingTransition игнорируется

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

slide_down.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator">

    <translate
        android:duration="2000"
        android:fromYDelta="0"
        android:toYDelta="100%p"
        android:zAdjustment="top"/>

</set>

stay.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromYDelta="0%p"
    android:toYDelta="0%p"
    android:zAdjustment="top"/>

Длительность установлена ​​на 2000 мс, но анимация все еще длится доли секунды. Даже изменение экстремального значения, такого как 10000, ничего не дает.

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

Java-код для справки:

MainActivity.java

public void games(View view){

    startActivity(new Intent(MainActivity.this, GamesActivity.class));
    overridePendingTransition(R.anim.slide_up, R.anim.stay);


}

У кого-нибудь есть идея?

1 ответ

Прошло много времени с тех пор, как вы спрашивали об этом, но я только что испытал это

Попробуйте сделать чистую сборку. Это исправило это для меня. Похоже, что Instant Run приводит к тому, что анимация не обновляется при каждом запуске.

Другие вопросы по тегам