出于性能原因,我需要能够选择性地使屏幕上的多个(大约20个)矩形无效,因此请尝试以下操作:
Vector<Rect> myRects = new Vector<Rect>();
// ... add some Rects to myRects
for (Rect r : myRects) {
invalidate(r);
}
然而,这似乎使所有Rect
的联合无效,形成一个大矩形,覆盖了我试图使其无效的所有小矩形。
如何使屏幕上的多个区域无效,只有那些区域?
答案 0 :(得分:0)
使一个矩形无效,然后在onDraw()
检查您的列表,然后使用下一个调用Invalidate()
,直到列表为空。
更好的解决方案是使用Drawable
并在InvalidateDrawable()
上调用{{1}}。