-1

Hello Android の本を読みましたが、コードの PuzzleView クラスの一部がわかりません。invalidate() 関数は、ページ全体を再描画するのではなく、ページの一部のみを再描画しています。これは本当です?

次の関数で、なぜ invalidate() を 2 回使用するのですか? これら2つの違いは何ですか?

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);
}

私を助けてください 。

乾杯

4

1 に答える 1

0

無効化される四角形が最初の呼び出しと 2 番目の呼び出しの間で変更された可能性があるため

View.invalidate(Rect dirty) は、dirty で定義された領域を再描画します。

于 2012-09-11T13:51:56.770 に答える