Transparent background in ImageButton with ripple effect?
If android:background="?attr/selectableItemBackground"
this works than I believe this answer should solve your problem:
https://stackoverflow.com/a/28087443/2534007
Create your own RippleDrawable
and you need to use mask for the Ripple if you're going to use transparent background.
<!-- A red ripple masked against an opaque rectangle. -->
<ripple android:color="#ffff0000">
<item android:id="@android:id/mask"
android:drawable="@android:color/white" />
</ripple>