覆盖imageView的onDraw方法取消中心drawable

时间:2014-06-17 09:56:23

标签: android android-imageview android-ui android-custom-view ondraw

我正在按照本教程http://android-developers.blogspot.com/2010/06/making-sense-of-multitouch.html制作可以向各个方向滚动的图像视图。问题是,当我覆盖onDraw方法并尝试将drawable右手绘制到画布时,drawable偏离中心。

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.save();
    canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
    getDrawable().draw(canvas);
    canvas.restore();

}

如果我注释掉该方法,那么图像将正确显示在中间。

重写此方法是否对齐做了什么?

1 个答案:

答案 0 :(得分:0)

canvas.save()使用由canvas.concat

采用的矩阵调用getImageMatrix()后 P.S:取自pskink的评论,因为这似乎解决了Brian的问题,我将此作为一个单独的答案,以便未来的读者可以看到它。