آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چرا متد onLayout در کلاس ImageView دو بار صدا زده میشه ؟

Reza  10 سال پیش  10 سال پیش
0 0

سلام

    استاد در آموزش ها گفته بودن که قبل از متد onDraw متد onLayout اجرا میشه ولی متوجه شدم که متد onLayout در کلاس ImageView دو بار صدا زده میشه . برای اطمینان کد زیر رو در onLayout نوشتم :

 counter++;
 Log.i("LOG", "counter = " + counter);

و نتیجه در Log به این صورت بود :

counter = 1
counter = 2

پس یعنی این متد دوبار اجرا میشه ؟ چرا ؟

ممنون .

+2 0
زمانی این متد صدا زده میشه که اندازه یا موقعیت View شما تغییر کنه ، میتونید داخل متد موقعیتش رو ببرسی کنید و ببنید چه اعدادی رو بهتون نشون میده و با هم مقایسه کنید . (10 سال پیش)
0 0
من متد های getWidth و getHeight رو برای اندازه ، و متد های getLeft و getTop و getRight و getBottom رو برای موقعیت در onLayout نوشتم ولی هر دوبار یه مقدار در LogCat نمایش داده میشه ! (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .