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

مشکل با ;()getWidth و ;()getHeight

امید  10 سال پیش  10 سال پیش
0 0

سلام

دوستان توی کاستوم کنترل ها من یه مشکلی دارم، لطفا راهنمایی کنید.

دستور ;()getWidth و ;()getHeight فقط در onDraw کار میکنه.

اگر بخوام تو متد های دیگه ازش استفاده کنم باید چیکار کنم ؟

کاستوم کنترلی درست کردم که نیاز هست توی متد ()initialize از getWidth استفاده کنم.

لطفا راهنماییم کنید.

 public void initialize() {

paint = new Paint();
paint.setColor(Color.parseColor("#c6c6c6"));
paint.setAntiAlias(true);
paint.setStyle(Style.FILL_AND_STROKE);
paint.setStrokeWidth(G.convertDpToPixel(2));
gradient = new RadialGradient(centerX, centerY,centerX, 0xFF000000, 0x00000000, android.graphics.Shader.TileMode.MIRROR);
paint.setShader(new RadialGradient(centerX, centerY, 10, 0xFFFFFFFF, 0xFF000000, android.graphics.Shader.TileMode.CLAMP));

fan = new RectF();
fan.bottom = getHeight();
fan.left = 0;
fan.right = getWidth();
fan.top = 0;
}


@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);

centerX = getWidth() / 2;
centerY = getHeight() / 2;

canvas.drawCircle(centerX, centerY, centerX, paint);
}
+1 0
سایز View ها توی متد onMeasure محاسبه میشه، قبل این متد فکر نکنم بشه این مقادیر رو گرفت. (10 سال پیش)
 برای این سوال پاسخی وجود ندارد.

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