Junior — Middle
requestLayout() metodini chaqirishda onDraw() metodini chaqirish shartmi?
sobes.tech AI
AIdan javob
requestLayout() metodining chaqirilishi onDraw() ni darhol chaqirishni kafolatlamaydi.
requestLayout() View ning joylashuvi va o'lchamini qayta hisoblashni boshlaydi, bu onMeasure() va onLayout() chaqirilishiga olib keladi. Ushbu bosqichlar muvaffaqiyatli tugagach, tizim View ni qayta chizish kerakligini hal qiladi va agar shunday bo'lsa, onDraw() ni chaqiradi.
Shunday qilib, onDraw() har doim requestLayout() dan darhol so'ng chaqirilmaydi, faqat o'zgarishlar qayta chizishni talab qilganda chaqiriladi.
Agar o'lcham yoki joylashuvni o'zgartirmasdan majburiy qayta chizishni amalga oshirish kerak bo'lsa, to'g'ridan-to'g'ri onDraw() ni chaqiradigan invalidate() dan foydalaning.