Custom Widget using LinearLayout not getting onDraw()

You need to call setWillNotDraw(false) in your constructor.

Because by default a layout does not need to draw, so an optimization is to not call is draw method. By calling setWillNotDraw(false) you tell the UI toolkit that you want to draw.