为什么我的动画没有按预期工作?
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>
我想为 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>