Found this from source of Decompiled ImageButton class.
Displays a button with an image (instead of text) that can be pressed or clicked by the user. By default, an ImageButton looks like a regular {@link android.widget.Button}, with the standard button
background that changes color during different button states. The image on the surface of the button is defined either by the {@code android:src} attribute in the {@code } XML element or by the {@link #setImageResource(int)} method.
To remove the standard button background image, define your own background image or set the background color to be transparent.
To indicate the different button states (focused, selected, etc.), you can define a different image for each state. E.g., a blue image by default, an orange one for when focused, and a yellow one for when pressed. An easy way to do this is with an XML drawable "selector."