Junior — Middle
Kas requestLayout() meetodi kutsudes peab kindlasti kutsuma ka onDraw() meetod?
sobes.tech AI
Vastus AI-lt
RequestLayout() meetodi kutsumine ei taga garanteeri kohese kutsumist onDraw().
RequestLayout() algatab View'i asukoha ja suuruse ümberarvutamise, mis viib onMeasure() ja onLayout() kutsumiseni. Pärast nende etappide edukat läbimist otsustab süsteem, kas View vajab uuesti joonistamist, ja kui jah, siis kutsub onDraw() välja.
Seega ei kutsuta onDraw() tingimata kohe pärast requestLayout() kutsumist, vaid ainult siis, kui muudatused nõuavad uuesti joonistamist.
Kui soovite sundida uuesti joonistamist ilma suuruse või asukoha muutmata, kasutage invalidate(), mis viib otse onDraw() kutsumiseni.