Sobes.tech
Junior — Middle

Da li se prilikom poziva metode requestLayout() obavezno poziva i metoda onDraw()?

sobes.tech АИ

Одговор од АИ

Pozivanje metode requestLayout() ne garantuje odmah pozivanje onDraw().

requestLayout() inicira ponovni proračun pozicije i dimenzija View-a, što dovodi do poziva onMeasure() i onLayout(). Nakon uspešnog završetka ovih etapa, sistem odlučuje da li je potrebno ponovo nacrtati View, i ako jeste, poziva onDraw().

Stoga, onDraw() nije nužno pozvan odmah nakon requestLayout(), već samo ako promene zahtevaju ponovno crtanje.

Ako želite da forsirate ponovno crtanje bez promene dimenzija ili pozicije, koristite invalidate(), koji direktno dovodi do poziva onDraw().