Java 如何重复android xml动画
我尝试在片段中设置文本视图的动画,以飞入-停留几秒钟-飞出-重复。动画很好用,但我不能让它重复。动画结束后,AnimationListener将触发onAnimationEnd事件。我用Java 如何重复android xml动画,java,android,xml,android-layout,animation,Java,Android,Xml,Android Layout,Animation,我尝试在片段中设置文本视图的动画,以飞入-停留几秒钟-飞出-重复。动画很好用,但我不能让它重复。动画结束后,AnimationListener将触发onAnimationEnd事件。我用setRepeatCount(Animation.INFINITE)进行了尝试 和setRepeatMode(Animation.RESTART/Animation.REVERSE),但似乎什么都不起作用 在这里,您可以看到包含动画内容的文本\u slider\u animation.xml文件: <?xm
setRepeatCount(Animation.INFINITE)进行了尝试代码>
和setRepeatMode(Animation.RESTART/Animation.REVERSE)代码>,但似乎什么都不起作用
在这里,您可以看到包含动画内容的文本\u slider\u animation.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:fillEnabled="true"
android:interpolator="@android:anim/linear_interpolator">
<set
android:fillAfter="true"
android:fillEnabled="true"
android:startOffset="500"
android:duration="1000">
<translate
android:fromXDelta="-100%"
android:toXDelta="0%" />
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0" />
</set>
<set
android:fillAfter="true"
android:fillEnabled="true"
android:startOffset="6000"
android:duration="1000">
<translate
android:fromXDelta="0%"
android:toXDelta="100%" />
<alpha
android:fromAlpha="1.0"
android:toAlpha="0.0" />
</set>
</set>
有人能帮我解释一下为什么这不起作用吗?提前谢谢你
///////////////////////
编辑:我更正了行mAnimation.setRepeatCount(Animation.INFINITE);
mAnimation.setRepeatMode(动画.重新启动) 在您的问题中,您将模式设置为计数,将计数设置为模式
编辑:
这里似乎有些混乱。您正在创建动画集
,而不是动画
。不幸的是,AnimationSet
似乎不支持重复以及动画
因此,您需要在onAnimationEnd
回调中调用animationSet.start()
。有关更多详细信息,请查看此答案
在onAnimationEnd中调用视图。startAnimation(animationSet)
似乎也能正常工作。在XML中,添加:
android:repeatMode="restart"
哎呀,我好像已经睡着了;)然而,它也不适用于mAnimation.setRepeatCount(Animation.INFINITE);mAnimation.setRepeatMode(Animation.RESTART/Animation.REVERSE);onAnimationEnd仍然不知道为什么它仍然不能使用更正后的上两行?onAnimationRepeat仍不能启动。我尝试了许多具有重复模式和计数的星座。您是否使用了动画。重新启动或动画。反转?两者都不起作用。什么也没发生。onAnimationEnd被调用,就是这样。两者一起?我尝试了这个,但它仍然会触发“end”事件,并且不会重复(添加到根集标记中)。要重复多少次?因为每次动画完成时,onAnimationEnd调用我都要重复,片段仍将被销毁。我明白了,onAnimationEnd应该每次都被调用,但onAnimationRepeat从不启动。我看到了这篇文章,但不幸的是无法解决我的问题
setRepeatCount(Animation.INFINITE);
setRepeatMode(Animation.RESTART);
// or setRepeatMode(Animation.REVERSE);
android:repeatMode="restart"