我无法让动画的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>
答案 0 :(得分:0)
像TranslateAnimation
这样的动画是暂时的。如果您希望在动画完成后效果持续存在,则需要注册AnimationListener
并执行某些操作以使更改永久保留在onAnimationEnd()
中。例如,使用TranslateAnimation
,您需要调整LayoutParams
以使其位于最终位置。