It is necessary to configure the xml so that the selected elements are displayed in gray, from the version of android 21, I use ripple. How to set this up in ripple?

drawable \ selector.xml:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/colorGrey" android:state_pressed="true"/> <item android:drawable="@color/colorGrey" android:state_selected="true"/> <item android:drawable="@android:color/transparent"/> </selector> 

drawbale-v21 \ selector.xml:

 <?xml version="1.0" encoding="utf-8"?> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorGrey"> <item android:id="@android:id/mask" android:drawable="@color/colorGrey"/> </ripple> 
  • Those. Do you want an analogue <item android:drawable="@color/colorGrey" android:state_selected="true"/> for ripple? - Yuriy SPb

1 answer 1

Try this with en-so

  1. Create a separate ripple_effect.xml ripple_effect.xml in the drawable-v21
 <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/green_primary"> <item android:drawable="@drawable/green_primary"/> </ripple> 
  1. Use it in the normal selector along with color matching for the selected state.
 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@color/green_selected"/> <item android:drawable="@drawable/ripple_effect"/> </selector>