【发布时间】:2016-08-18 21:29:33
【问题描述】:
Android 似乎真的不喜欢 invalidate (Rect dirty),它只用于使画布的一部分无效。当我使画布的一部分无效(如下图绿色所示)并且需要同时重绘画布的 ToggleButton outside 时,红色显示的整个区域都会被擦除!似乎 Android 只是使包含需要重绘的两个区域的联合的最小矩形内的所有内容无效,即使其中一个区域位于我要使其无效的画布的 View 之外。
这是标准行为吗?如果是,为什么有人会使用部分失效?
【问题讨论】:
-
如何阻止 android 擦除红色区域并仅重绘绿色区域,我在自己的实现中使用了 invalidate(rect) 但不知道如何在调用时在 onDraw() 中处理它从 invalidate() 到 onDraw()
标签: android android-canvas invalidation