Junior — Middle
requestLayout() metodunu çağırarkən, onDraw() metodunun çağırılması mütləqdirmi?
sobes.tech Süni İntellekt
AI-dan cavab
requestLayout() metodunun çağırılması, onDraw() metodunun dərhal çağırılmasını təmin etmir.
requestLayout() View-in yerləşdirilməsi və ölçülərinin yenidən hesablanmasını təşviq edir, bu da onMeasure() və onLayout() çağırışlarına səbəb olur. Bu mərhələlər uğurla tamamlandıqdan sonra, sistem View-in yenidən çəkilməsinə ehtiyac olub-olmadığını qərar verir və əgər ehtiyac varsa, onDraw() çağırılır.
Beləliklə, onDraw() hər zaman requestLayout() dan dərhal sonra çağırılmır, yalnız dəyişikliklər yenidən çəkilmə tələb edirsə çağırılır.
Əgər ölçü və ya yerləşdirmə dəyişmədən məcburi yenidən çəkilmə etmək istəyirsinizsə, birbaşa onDraw() çağıran invalidate() istifadə edin.