Try this:
public class TransparentCircle extends View { Bitmap bm; Canvas cv; Paint eraser; public TransparentCircle(Context context) { super(context); Init(); } public TransparentCircle(Context context, AttributeSet attrs) { super(context, attrs); Init(); } public TransparentCircle(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); Init(); } private void Init(){ eraser = new Paint(); eraser.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); eraser.setAntiAlias(true); } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { if (w != oldw || h != oldh) { bm = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); cv = new Canvas(bm);