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().