画布上的路径有时是不可见的

时间:2014-06-20 01:43:50

标签: android

我重写了ImageView,在onDraw方法中,我在它上面绘制了一条路径。 ImageView是一个以ListView显示的视图。

在第一次渲染时,图像始终存在,但有时路径不是。如果我向下滚动,那些图像总是有路径,当我向后滚动时,之前没有的第一个ImageView现在将始终显示它们的路径。我知道onDraw正在为第一个ImageViews调用,因为我在那里放了一个休息点。

我能想到的唯一一件事就是路径是在图像之前绘制的?尽管如此,它在我的代码中并没有这样做。实际上,我调用setImageBitmap来设置图像,而图像又调用invalidate,而后者又调度onDraw。我的onDraw首先调用超级。

禁用硬件加速也无效。

1 个答案:

答案 0 :(得分:0)

我觉得有点傻,但我明白了。如果有人犯了同样的错误,这就是答案。

出于某种原因,我在onMeasure上设置了我将绘制的路径的尺寸。显然,这需要进入onLayout。所以基本上第一次绘制视图时,它的大小在测量时是0,所以我的路径是0,0坐标上的一堆点。后续渲染使用了ListView中的循环视图,它在测量时确实具有宽度和高度。