Если я правильно понял вопрос, то делается это примерно так:
public class MyClass extends RelativeLayout {
private RectF mBounds = new RectF(0, 0, 0, 0);
private Paint mPaint = new Paint();
public MyClass(final Context context, final AttributeSet attrs, final int defStyle) {
super(context, attrs, defStyle);
setWillNotDraw(false); //разрешаем рисовать в ViewGroup
mPaint.setColor(Color.RED);
mPaint.setStyle(Paint.Style.FILL);
mPaint.setAntiAlias(true);
}
@Override
protected void onSizeChanged(final int width, final int height, final int oldw,
final int oldh) {
mBounds.left = 0;
mBounds.top = 0;
mBounds.right = width;
mBounds.bottom = height;
}
@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
canvas.drawOval(mBounds, mPaint);
}
}