播放与屏幕尺寸大小差不多的图片,用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);
}
}
}
在使用movie播放gif格式图片的时候,一般播放资源图片没什么问题:
InputStream is=null;
Movie movie = null;
is=context.getResources().openRawResource(R.drawable.test_gif);
movie = Movie.decodeStream(is);
但是播放本地图片的......
答案就在这里:Movie播放gif图片出现的问题
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
新手一点都看不懂 好深奥的样子 呢
为啥不用Glide播放gif