Junior — Middle
V čem se liší použití metod requestLayout a invalidate při aktualizaci rozhraní?
sobes.tech AI
Odpověď od AI
Metoda requestLayout() se používá k oznámení systému, že velikost nebo pozice View se změnily a je třeba znovu spočítat rozložení. Při volání této metody dojde k novému průchodu měřením a rozmístěním prvků (measure/layout).
Metoda invalidate() signalizuje, že obsah View se změnil a je třeba jej překreslit (volání metody onDraw). Při tom se rozložení nepřepočítává, pouze se aktualizuje vizuální zobrazení.
Stručně:
requestLayout()— přepočítá velikost a pozici View.invalidate()— překreslí View bez změny velikosti.
Příklad:
view.requestLayout(); // pokud se změnily parametry velikosti
view.invalidate(); // pokud se změnil pouze obsah k vykreslení