我读了Hello Android书,我不理解PuzzleView类代码的某些部分。 invalidate()函数只重绘页面的一部分,而不是重绘所有页面。这是真的吗?
以下函数,为什么我们使用invalidate()两次?这两者有什么区别?
private void select(int x, int y) {
invalidate(selRect);
selX = Math.min(Math.max(x, 0), 8);
selY = Math.min(Math.max(y, 0), 8);
getRect(selX, selY, selRect);
invalidate(selRect);
}
请帮帮我。
干杯
答案 0 :(得分:0)
因为无效的矩形可能在第一个调用和第二个调用之间发生了变化
View.invalidate(Rect dirty)将导致dirty中定义的区域被重绘