对无限数字重复AnimationDrawable并在按钮单击时停止它

时间:2015-12-15 05:35:46

标签: android android-animation animationdrawable

我创建了一个AnimationDrawable,我想重复该动画的无限数量,并在点击按钮时停止该动画,我正在分享我的代码

anim.xml文件

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true" >
    <item android:drawable="@drawable/download_anim1" android:duration="100" />
    <item android:drawable="@drawable/download_anim2" android:duration="100" />
    <item android:drawable="@drawable/download_anim3" android:duration="100" />
    <item android:drawable="@drawable/download_anim4" android:duration="100" />
    <item android:drawable="@drawable/download_anim5" android:duration="100" />
</animation-list>

在我的布局文件中

<ImageView
    android:id="@+id/imageViewAnimation"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:padding="3dp"
    android:layout_marginBottom="10dp"
    android:layout_weight="2"
    android:background="@color/colorOrange"
    android:src="@drawable/anim" />

在我开始动画的活动中

ImageView imageViewAnimationr = (ImageView) headerView.findViewById(R.id.imageViewHeaderDownloadAnimation);
AnimationDrawable animationDrawable = (AnimationDrawable) imageViewAnimationr.getDrawable();
animationDrawable.start();

2 个答案:

答案 0 :(得分:2)

我只是找到setOneShot来重复动画,并找到Stop来停止任何实例的动画。

答案 1 :(得分:1)

您可以更改oneshot=false重复无限次,并停止使用animationDrawable.stop()的任何条件 喜欢它: -

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
    <item android:drawable="@drawable/img_one" android:duration="200" />
    <item android:drawable="@drawable/img_two" android:duration="200" />
    <item android:drawable="@drawable/img_three" android:duration="200" />
</animation-list>