Junior — Middle
Pri volaní metódy requestLayout() je povinné volať metódu onDraw()?
sobes.tech AI
Odpoveď od AI
Volanie metódy requestLayout() nezaručuje okamžité volanie onDraw().
requestLayout() iniciuje prepočítanie polohy a veľkosti View, čo vedie k volaniu onMeasure() a onLayout(). Po úspešnom dokončení týchto krokov systém rozhodne, či je potrebné View prekresliť, a ak áno, zavolá onDraw().
Preto nie je nutné, aby bol onDraw() volaný hneď po requestLayout(), ale iba ak zmeny vyžadujú prekreslenie.
Ak chcete vynútiť prekreslenie bez zmeny veľkosti alebo polohy, použite invalidate(), ktoré priamo spôsobí volanie onDraw().