转载自:http://www.devdiv.com/forum.php?mod=viewthread&tid=88416&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1
在帧动画结束的时候,如何让他消失呢?android提供了击中巧妙的方法:
一般使用帧动画的过程如下:
- ImageView iv = (ImageView)findViewById(R.id.iv);
- iv.setBackGroundDrawable(R.id.frametest);
- AnimationDrawable ad = (AnimationDrawable)iv.getBackGroundDrawabe();
- ad.start();
复制代码
上面的代码在帧动画结束的时候会保持帧动画的最后一帧。如何让他在结束的时候消失呢?
当然可以写Listener来监听帧动画的结束事件了。不过这种实现方式不准确。
其实只需要在animation-list中最后增加一个item
- <?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/d1" android:duration="100" />
- <item android:drawable="@drawable/d2" android:duration="100" />
- <item android:drawable="@drawable/d3" android:duration="100" />
- <item android:drawable="@drawable/d4" android:duration="100" />
- <item android:drawable="@drawable/d5" android:duration="100" />
- <item android:drawable="@drawable/d6" android:duration="100" />
- <item android:drawable="@android:id/empty" android:duration="100" />
- </animation-list>
复制代码
@android:id/empty 将ImageView的BackGroundResource 的id 设置为空就ok了。
这是刚摸索的一点小技巧,跟大家分享下。