我有一个动画列表存储在resanimdraw_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);
但不成功。
请帮助我。
更新:我已经尝试了
frameAnimation.stop();
但动画仍然应用于ImageView。有什么理想的方法吗?源码
试试这个。
frameAnimation.stop();
希望能帮到你:)
这是个肮脏的方法,但很有效。
setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
如果这不能解决你的问题,请告诉我。