您可以尝试通过以下方式进行操作:
final ImageView imageView = (ImageView)findViewById(R.id.image);
if (null != imageView) {
final AnimationDrawable bgAnimation = (AnimationDrawable) imageView.getBackground();
bgAnimation.start();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
bgAnimation.stop();
}
}, 5500);
}
假设您有如下动画 xml:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" >
<item
android:drawable="@drawable/choose12"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_1"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_2"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_3"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_4"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_5"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_6"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_7"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_8"
android:duration="1000"/>
<item
android:drawable="@drawable/choose12_9"
android:duration="1000"/>
</animation-list>
但是,这种方式在延迟很小的情况下会不稳定。因此,如果您需要更好地控制动画过程,我建议您看看PropertyAnimation 。