Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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 每隔几秒钟重复AnimationDrawable_Java_Android_Xamarin_Xamarin.android_Android Animation - Fatal编程技术网

Java 每隔几秒钟重复AnimationDrawable

Java 每隔几秒钟重复AnimationDrawable,java,android,xamarin,xamarin.android,android-animation,Java,Android,Xamarin,Xamarin.android,Android Animation,我有一个AnimationDrawable,可以为一组帧图像设置动画。 如何每10秒重新启动一次 谢谢。是的,你可以,只需多给最后一帧10秒。范例- <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/image" android:duration="

我有一个AnimationDrawable,可以为一组帧图像设置动画。
如何每10秒重新启动一次


谢谢。

是的,你可以,只需多给最后一帧10秒。范例-

    <animation-list xmlns:android="http://schemas.android.com/apk/res/android"  android:oneshot="false">
  <item android:drawable="@drawable/image" android:duration="100" />
  <item android:drawable="@drawable/image1" android:duration="100" />
  <item android:drawable="@drawable/image2" android:duration="100" />
  <item android:drawable="@drawable/image3" android:duration="100" />
  <item android:drawable="@drawable/image4" android:duration="10100" />
 </animation-list>


希望能有所帮助:)

谢谢!有没有一种方法可以从代码中以一种更“优雅”的方式做到这一点,比如使用某种计时器或处理程序(我不知道怎么做)?您也可以使用计时器来完成,但我认为这是最好的方法,因为所有延迟和重新启动动画都将由同一个线程完成。若您想使用定时器处理它,那个么定时器将不必要地创建一个额外的线程。所以我永远不会推荐使用定时器或处理器。谢谢你的建议!
int count = -1;

Timer mTimer = new Timer();
mTimer.schedule(new TimerTask() {
@Override
public void run() {

    getActivity().runOnUiThread(new Runnable() {
        @Override
        public void run() {

            count++;
            if (count >= imageArray.length)
                count = 0;

            MyImageView.setImageResource(imageArray[position]);
        }
    });
}
}, 0, 10000);