播放与屏幕尺寸大小差不多的图片,用movie显示还正常,但是播放尺寸过大的图片,
不会自动按照屏幕的比例缩小进行显示,就是只能显示出一部分,其他的都看不见,
哪位知道怎么改一下就可以了。。。 这是我的代码
public class GifView extends View {
//表示开始播放gif图片的绝对时间
private long movieStart = 0;
//movie对象管理gif图片里面的多个帧
private Movie movie;
public GifView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public GifView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
if (movie != null) {
long currentTime = System.currentTimeMillis();
// 第一次画
if (movieStart == 0) {
movieStart = currentTime;
}
int duration = movie.duration();
int relTime = (int) ((currentTime - movieStart) % duration);
movie.setTime(relTime);
movie.draw(canvas, (getWidth()-movie.width())/2,(getHeight()-movie.height())/2);
// 强制重绘
invalidate();
}
//如果只想播放一次,只需判断currentTime-movieStart的值大于duration就不重绘即可
super.onDraw(canvas);
}
public void setMovie(String path){
if(path.equals("")){
movie=null;
}else{
movie=Movie.decodeFile(path);
}
}
}