create Oval Ripple Lollipop
On API 21 and 22, the ripple implementation has a bug that it will be shown behind the container view under certain conditions. Adding a mask when creating RippleDrawable solves this. Besides that since RippleDrawable doesn't support radius setting on Lollipop, adding masks will make the circle ripple size fit into the view boundary.