Java 每隔几秒钟重复AnimationDrawable
我有一个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="
如何每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);