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

标签 android drawing

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

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

// ... add some Rects to myRects

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

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

如何使屏幕上的多个区域无效,并且仅使这些区域无效?

最佳答案

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

更好的解决方案是使用 Drawable 并对其调用 InvalidateDrawable()

关于Android:如何使屏幕的多个部分无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2846595/

相关文章:

java - Android:使用 log4j2 创建日志时获取额外的空文件

java - android Java哈希表无法存储某些字符

android - 将 TouchListener 添加到 Drawable

python - 如何在图形中间画轴?

android - Kivy 和发现蓝牙设备

java - Android : ColorPicker only showing one color, 和从调色板中选择错误的颜色

swift3 - 将图像裁剪为圆形 swift 3

c# - 在鼠标经过的地方画一条线

algorithm - 设置绘制二叉树的位置

android - 来自 p2p wifi spy 相机的 H264 数据包