public class MainActivity extends Activity {
private Movie gif;
private long gifStart;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new CustomGifView(this));
}
//使用android 提供的Movie类进行动画的播放,自定义view
class CustomGifView extends View {
public CustomGifView(Context context) {
super(context);
gif = Movie.decodeStream(getResources().openRawResource(
R.drawable.progress5));
}
public void onDraw(Canvas canvas) {
long now = android.os.SystemClock.uptimeMillis();
if (gifStart == 0) {
gifStart = now;
}
if (gif != null) {
int dur = gif.duration();
if (dur == 0) {
dur = 1000;
}
int relTime = (int) ((now - gifStart) % dur);
gif.setTime(relTime);
gif.draw(canvas,160, 300);
invalidate();
}
}
}
}