Junior — Middle
При извикване на метода requestLayout() задължително ли е да се извика методът onDraw()?
sobes.tech AI
Отговор от AI
Обаждането на метода requestLayout() не гарантира незабавно извикване на onDraw().
requestLayout() инициира преизчисляване на позицията и размерите на View, което води до извикване на onMeasure() и onLayout(). След успешно преминаване през тези етапи, системата решава дали е необходимо да се препечата View, и ако е така, извиква onDraw().
Следователно, onDraw() не се извиква задължително веднага след requestLayout(), а само ако промените изискват препечатване.
Ако искате да принудите препечатване без промяна на размерите или позицията, използвайте invalidate(), което директно води до извикване на onDraw().