对话框动画fillAfter不起作用

时间:2012-04-12 13:00:31

标签: android xml dialog android-animation

我无法让动画的fillAfter属性生效。 我在翻译和xml中的动画集中都使用了它,但它总是跳到最后的标准对话框位置。这甚至可能吗?

xml中动画的当前幻灯片:

<set
android:fillAfter="true"
xmlns:android="http://schemas.android.com/apk/res/android">

<translate
    android:fromXDelta="100%"
    android:toXDelta="70%"
    android:fromYDelta="100%"
    android:toYDelta="70%"
    android:duration="2000" />

</set>

正在应用于对话框的Themes.xml:

<style name="theme_dialog" parent="@android:style/Theme.Dialog">
    <item name="android:windowAnimationStyle">@style/style_slide_in_dialog</item>
</style>

<style name="style_slide_in_dialog">
    <item name="android:windowEnterAnimation">@anim/animation_slide_in_dialog</item>
    <item name="android:windowExitAnimation">@anim/animation_slide_out_dialog</item>
</style>

1 个答案:

答案 0 :(得分:0)

TranslateAnimation这样的动画是暂时的。如果您希望在动画完成后效果持续存在,则需要注册AnimationListener并执行某些操作以使更改永久保留在onAnimationEnd()中。例如,使用TranslateAnimation,您需要调整LayoutParams以使其位于最终位置。