Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何重复android xml动画_Java_Android_Xml_Android Layout_Animation - Fatal编程技术网

Java 如何重复android xml动画

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

我尝试在片段中设置文本视图的动画,以飞入-停留几秒钟-飞出-重复。动画很好用,但我不能让它重复。动画结束后,AnimationListener将触发onAnimationEnd事件。我用
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"