بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با ;()getWidth و ;()getHeight
سلام
دوستان توی کاستوم کنترل ها من یه مشکلی دارم، لطفا راهنمایی کنید.
دستور ;()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 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .