public void onDraw(Canvas canvas, float left_pad, float top_pad, float right_pad, float bottom_pad) { float margin_height = canvas.getHeight() * (1 - heightWeight) / 2; rectPaint.setAlpha((int) (progress * MAX_COLOR_CONSTANT_VALUE)); if (useGradient) { prepareGradient(canvas.getWidth() * widthWeight); } canvas.drawRoundRect(new RectF(0 + left_pad, margin_height + top_pad, canvas.getWidth() * widthWeight - right_pad, canvas.getHeight() - margin_height - bottom_pad), corners, corners, rectPaint); }