ANDROID - 如何清除应用于ImageView的动画列表

时间:2013-10-09 02:26:22

标签: android animation android-animation clear

我有一个存储在res / anim / draw_circle_violet.xml中的动画列表:

<?xml version="1.0" encoding="utf-8"?>
<animation-list android:oneshot="true"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:duration="10" android:drawable="@drawable/plainimg"/>
    <item android:duration="10" android:drawable="@drawable/circlev1"/>
    <item android:duration="10" android:drawable="@drawable/circlev2"/>
    <item android:duration="10" android:drawable="@drawable/circlev3"/>
    <item android:duration="10" android:drawable="@drawable/circlev4"/>
    <item android:duration="10" android:drawable="@drawable/circlev5"/>
    <item android:duration="10" android:drawable="@drawable/circlev6"/>
    <item android:duration="10" android:drawable="@drawable/circlev7"/>
    <item android:duration="10" android:drawable="@drawable/circlev8"/>
</animation-list>

此动画适用于ImageView:

mImageView.setBackgroundResource(R.anim.draw_circle_violet);
        AnimationDrawable frameAnimation = (AnimationDrawable) mImageView
                .getBackground();
        frameAnimation.start();

我单击按钮清除应用于此ImageView的动画:

     mImageView.clearAnimation();

但无法删除动画。另一种方式,我试试这个:

     mImageView.setAnimation(null);

但不成功。

Plz帮助。


更新:我试过了

    frameAnimation.stop();

但动画仍然应用于ImageView。任何理想? 这是我的source code

2 个答案:

答案 0 :(得分:0)

试试这个:

frameAnimation.stop();

希望这会有所帮助:)

答案 1 :(得分:0)

这是一种肮脏的方式,但有效:

setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

如果这不能解决您的问题,请告诉我。