知识点
加载gif 我这边主要用到了movie这个类。将gif动画加载成movie类 然后把movie每一帧都绘制在画板上 view为surfaceView。
通过handler.postDelayed无限循环gif绘制线程绘制
代码如下
private void draw() {
Canvas canvas = mHolder.lockCanvas();
if (null != canvas){
canvas.save();
canvas.scale(1/scale,1/scale);
mMovie.draw(canvas,x,y);
canvas.restore();
mHolder.unlockCanvasAndPost(canvas);
}
mMovie.setTime((int) (System.currentTimeMillis()%mMovie.duration()));
mHandler.removeCallbacks(gifRun);
mHandler.postDelayed(gifRun,20);
}
gifRun Runnable 不断draw从而完成绘制