Junior — Middle
Čime se razlikuje korišćenje metoda requestLayout i invalidate u procesu ažuriranja interfejsa?
sobes.tech АИ
Одговор од АИ
Metoda requestLayout() se koristi za obaveštavanje sistema da je veličina ili pozicija View-a promenjena i da je potrebno ponovo izračunati raspored. Kada se pozove ova metoda, vrši se novi prolaz merenja i rasporeda elemenata (measure/layout).
Metoda invalidate() signalizira da se sadržaj View-a promenio i da ga treba ponovo nacrtati (pozivajući metodu onDraw). Međutim, raspored se ne ponovo računa, već se samo vizuelni prikaz ažurira.
Ukratko:
requestLayout()— ponovo računa veličinu i poziciju View-a.invalidate()— ponovo crta View bez promene veličine.
Primer:
view.requestLayout(); // ako su se promenili parametri veličine
view.invalidate(); // ako se promenio samo sadržaj za crtanje