Fondo transparente en ImageButton con efecto de ondulación?

Quiero quitar programaticamente el fondo gris en ImageButton. He intentado muchos método de eliminarlo como –

imageButton.setBackgroundDrawable(null); 

Pero al implementarlos, no obtengo el efecto de ripple en ImageButton en touch. (No hay resaltado en el tacto).

¿Hay alguna manera de quitar el fondo pero conservar el efecto de la ondulación o destacar.

Si android:background="?attr/selectableItemBackground" esto funciona que creo que esta respuesta debe resolver su problema:

https://stackoverflow.com/a/28087443/2534007

Crea tu propio RippleDrawable y necesitas usar máscara para el Ripple si vas a usar fondo transparente.

  <!-- A red ripple masked against an opaque rectangle. --/> <ripple android:color="#ffff0000"> <item android:id="@android:id/mask" android:drawable="@android:color/white" /> </ripple> 
  • SetCompoundDrawablesWithIntrinsicBounds (int, int, int, int) no funciona
  • Las etiquetas HTML no funcionan dentro de strings.xml
  • Tema Programáticamente establecido. Cómo volver a cargar Actividad para aplicar
  • Resaltar los elementos seleccionados en ListFragment (MultiChoiceModeListener)?
  • Android Studio: ¿Cómo mover rápidamente el estilo de layout.xml a style.xml?
  • Falta el archivo de manifiesto
  • Cambiar el color de Switch en Android
  • La barra de herramientas no se oculta mientras se desplaza
  • Cómo configurar el fondo de un TextView dinámicamente desde un archivo Xml
  • Xmlns: android = "http://schemas.android.com/apk/res/android" se agrega a todos mis objetos de diseño causando errores
  • Cómo utilizar recursos enteros dentro de recursos de cadena en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.