我想动画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毫秒。那么问题是什么?提前谢谢!
答案 0 :(得分:1)
将第二个缩放动画的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>