overridePendingTransition持续时间被忽略

fre*_*ump 5 animation android android-transitions 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>
Run Code Online (Sandbox Code Playgroud)

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"/>
Run Code Online (Sandbox Code Playgroud)

持续时间设置为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);


}
Run Code Online (Sandbox Code Playgroud)

谁有想法?

Cha*_*tem 1

自从你问这个问题以来已经很长时间了,但我刚刚经历过这一点。

尝试进行干净的构建。这为我解决了。看起来“即时运行”会导致动画不会在每次运行时更新。