overridePendingTransition持续时间被忽略

时间:2016-08-20 13:01:31

标签: android animation 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>

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 个答案:

答案 0 :(得分:1)

自从你问这个问题已经很久了,但我刚刚经历过这个。

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