2012-09-11 68 views
-1

我讀了你好Android的書,我不明白PuzzleView類的代碼的一些部分。 invalidate()函數僅重畫了頁面的一部分,而不是重繪所有頁面。這是真的?爲什麼我們要使用invalidat()兩次?

以下函數爲什麼要使用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

因爲矩形在此期間改變了嗎? – njzk2

回答

0

由於被無效的矩形的第一呼叫和第二

View.invalidate(矩形髒)之間已經改變可能會引起在髒所限定的區域被重繪

+0

我不明白。請更清楚地解釋。 – Pariya

相關問題