为什么我的动画没有按预期工作?

Why didn't my animation work as expected?

我想为 PopupWindow 的出现设置动画。这是我的 show.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:duration="200"
        android:fromXScale="0"
        android:fromYScale="0"
        android:toXScale="1"
        android:toYScale="0.1"
        android:pivotX="90%"
        android:pivotY="10%"
        android:interpolator="@android:interpolator/accelerate_decelerate"/>

    <scale
        android:startOffset="200"
        android:duration="600"
        android:fromXScale="1"
        android:fromYScale="0.1"
        android:toXScale="1"
        android:toYScale="1"
        android:pivotX="90%"
        android:pivotY="10%"
        android:interpolator="@android:interpolator/accelerate_decelerate"/>

</set>

和styles.xml:

<style name="popup_anim">
    <item name="@android:windowEnterAnimation">@anim/show</item>
</style>

终于:

mPopupWindow.setAnimationStyle(R.style.popup_anim);

如您所见,在我的 show.xml 中,我定义了两个动画,它们应该按 startOffset 的顺序播放。他们在这方面做得很好。然而,当第二个动画开始播放时,它几乎立即停止,尽管它的持续时间应该是 600 毫秒。那么问题是什么?提前致谢!

将第二个比例动画的 android:toYScale 从 1 更改为 10。

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
    android:duration="200"
    android:fromXScale="0"
    android:fromYScale="0"
    android:toXScale="1"
    android:toYScale="0.1"
    android:pivotX="90%"
    android:pivotY="10%"
    android:interpolator="@android:interpolator/accelerate_decelerate"/>
<scale
    android:startOffset="200"
    android:duration="600"
    android:fromXScale="1"
    android:toXScale="1"
    android:fromYScale="0.1"
    android:toYScale="10"
    android:pivotX="90%"
    android:pivotY="10%"
    android:interpolator="@android:interpolator/accelerate_decelerate"/</set>