我惊讶地发现 View.onDraw()
在绘制之前会删除 Canvas 。这不是我想要的。有什么好方法可以保留以前的绘图,以便我只需要在每次调用期间在以前的绘图之上绘制更改?
最佳答案
有几个 API 可以定义脏矩形以使 View 失效:
public void invalidate(Rect dirty)
public void invalidate(int l, int t, int r, int b)
但是,更有可能的是,View
会一直重绘,例如当您滑动它时,或者按 Z 顺序位于其上方的另一个 View
会失效。
您可以尝试使用setDrawingCacheEnabled
,如果您自己进行绘图,请务必缓存您正在绘制的位图
。
关于java - 仅使用 Android View.onDraw() 进行绘图更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20604486/