Android 重写imageView的onDraw方法不可绘制
我按照本教程制作了可以向各个方向滚动的make和imageview。问题是,当我重写onDraw方法并尝试手动将可绘制内容向右绘制到画布时,可绘制内容偏离中心Android 重写imageView的onDraw方法不可绘制,android,android-imageview,android-ui,android-custom-view,ondraw,Android,Android Imageview,Android Ui,Android Custom View,Ondraw,我按照本教程制作了可以向各个方向滚动的make和imageview。问题是,当我重写onDraw方法并尝试手动将可绘制内容向右绘制到画布时,可绘制内容偏离中心 @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.save(); canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR); getDrawable
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
getDrawable().draw(canvas);
canvas.restore();
}
如果我注释了该方法,则图像以中间为中心显示。
重写此方法是否会影响对齐?在canvas.save()之后调用canvas.concat
,使用getImageMatrix()获取的矩阵
注:根据普金斯的评论,由于这似乎解决了布赖恩的问题,我将此作为一个单独的答案,以便将来的读者可以看到。在canvas.save()之后,使用getImageMatrix()获取的矩阵调用canvas.concat,如果你发布一个答案,我可以将其标记为正确。