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