بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دستور super.onDraw در متد onDraw ؟
سلام
من از آموزش های بخش 13 ( کنترل های سفارشی ) متوجه شدم که دستور :
super.onDraw(canvas);
در متد onDraw صفحه رو پاک میکنه ، و دستورات بعدی باعث ترسیم دوباره canvas میشه . و همینطور هم بود . اما الان برای انیمیشن نمیدونم چرا بود و نبودش فرقی نمیکنه :
در یک متد این دستور رو نوشتم :
while (i < 100) {
try {
thread.sleep(10);
calculateRectForAnim(3 * i, 100);
postInvalidate();
i++;
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
یعنی پشت سر هم invalidate کردم ، و متد onDraw به این صورته :
@Override
protected void onDraw(final Canvas canvas) {
super.onDraw(canvas);
canvas.drawRoundRect(rect, size / 10, size / 10, paint);
}
حالا اگه دستور super رو کامنت کنم مگه نباید ترسیم های قبلی باقی بمونه و مربع ها روی هم جمع بشن ؟ چون وقتی کامنت میکنم باز هم انگار مربع قبلی پاک میشه و جدیده رسم میشه . میشه لطفا بگید دلیلش چیه ؟
ممنون .
0
0
دستور super کار رسم رو انجام میده و اگر حذفش کنید چیزی رسم نخواهد شد . (10 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .