Android:如何使屏幕的多个部分无效

时间:2010-05-17 04:05:28

标签: android drawing

出于性能原因,我需要能够选择性地使屏幕上的多个(大约20个)矩形无效,因此请尝试以下操作:

Vector<Rect> myRects = new Vector<Rect>();

// ... add some Rects to myRects

for (Rect r : myRects) {
    invalidate(r);
}

然而,这似乎使所有Rect的联合无效,形成一个大矩形,覆盖了我试图使其无效的所有小矩形。

如何使屏幕上的多个区域无效,只有那些区域?

1 个答案:

答案 0 :(得分:0)

使一个矩形无效,然后在onDraw()检查您的列表,然后使用下一个调用Invalidate(),直到列表为空。

更好的解决方案是使用Drawable并在InvalidateDrawable()上调用{{1}}。