Using ?selectableItemBackground with a white background color
Solution 1:
You can use the foreground of your FrameLayout :
<FrameLayout ...
android:background="@android:color/white"
android:foreground="?attr/selectableItemBackground">
Solution 2:
You can create a layer-list in your drawables folder, and set this to your background:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white"/>
<item android:drawable="?attr/selectableItemBackground"/>
</layer-list>
Solution 3:
Ripple drawable is a LayerDrawable
.
So the right way to do this is :
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item>
<shape>
<solid
android:color="#FFFFFF"/>
</shape>
</item>
<item android:id="@android:id/mask">
<shape>
<solid android:color="@android:color/white"/>
</shape>
</item>
</ripple>