5

我正在使用 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>

逗留.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);


}

有人有想法吗?

4

1 回答 1

2

你问这个已经很长时间了,但我刚刚经历了这个。

尝试做一个干净的构建。那为我修好了。看起来 Instant Run 会导致动画在每次运行时都不会更新。

于 2017-02-26T19:06:10.240 回答