您的位置:首页 > 其它

GIF loading

2015-11-24 15:03 176 查看
package com.example.gif;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Movie;
import android.util.AttributeSet;
import android.view.View;

public class MyGifView extends View {

private long movieStart;
private Movie movie;

// 重写该构造方法
public MyGifView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);

// 以文件刘流(InputStream)读取进gif图片资源
movie = Movie.decodeStream(getResources().openRawResource(
R.drawable.loading));

}

@Override
protected void onDraw(Canvas canvas) {
long curTime = android.os.SystemClock.uptimeMillis();
// 第一次播放
if (movieStart == 0) {
movieStart = curTime;
}
if (movie != null) {
int duraction = movie.duration();
int relTime = (int) ((curTime - movieStart) % duraction);
movie.setTime(relTime);
movie.draw(canvas, 0, 0);
// 强制重绘
invalidate();
}
super.onDraw(canvas);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: