我的错误无法解决方法getWidth()
;和getHeight()
相同;
我还是Android工作室的新手,所以请给我一些懈怠,请向我解释。
注意,第二个canvas.scale
是我发现的添加代码应该是解决方案以获得屏幕分辨率。
这是我的代码
private void draw(){
if(visible){
Canvas canvas= holder.lockCanvas();
canvas.save();
movie.draw(canvas, -100, 0);
canvas.restore();
holder.unlockCanvasAndPost(canvas);
movie.setTime((int) (System.currentTimeMillis() % movie.duration()));
handler.removeCallbacks(drawGif);
handler.postDelayed(drawGif,frameDuration);
}
}
@Override
public void onVisibilityChanged(boolean visible) {
super.onVisibilityChanged(visible);
this.visible=visible;
if(visible){
handler.post(drawGif);
} else {
handler.removeCallbacks(drawGif);
}
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
}
答案 0 :(得分:1)
您可以使用画布代替上下文
canvas.scale((float)canvas.getWidth() / (float)movie.width(),(float)canvas.getHeight() / (float)movie.height());