In android versions previous to lolipop, the following code works and an image is in front of the button. But in android 5 the imageview is put behind the button.
Button elevation and translationZ values are defined in framework as below:
1dp 2dp
Source
Like CommonsWare explained, set the translationZ of ImageView higher than Button value will give the result as expected.