Sobes.tech
Junior — Middle

La apelarea metodei requestLayout() este obligatoriu să se apeleze metoda onDraw()?

sobes.tech AI

Răspuns de la AI

Apelarea metodei requestLayout() nu garantează o apelare imediată a onDraw().

requestLayout() inițiază recalcularea poziției și dimensiunilor View-ului, ceea ce duce la apelarea onMeasure() și onLayout(). După finalizarea cu succes a acestor etape, sistemul decide dacă este necesar să redeseneze View-ul și, dacă da, apelează onDraw().

Prin urmare, onDraw() nu este neapărat apelat imediat după requestLayout(), ci doar dacă modificările necesită o redesenare.

Dacă doriți să forțați o redesenare fără a modifica dimensiunile sau poziția, utilizați invalidate(), care duce direct la apelarea onDraw().