从5.0 开始,在同一个layout下,Button将总是位于最上层,就算你在Button上覆盖了相应的View。
如图

产生原因:stateListAnimator属性
谷歌在Material Design中推出,是一个非常简单的方法用来实现在可视状态之间平滑过渡。这个属性可以通过android:stateListAnimator进行设置,可以使控件在点击时产生不同的交互。对于Button,点击时默认有个阴影的效果用于表示按下的状态(5.0以前就是简单的变色)。
解决方法:可以使用android:stateListAnimator=”@null”去掉阴影效果而使Button可以被正常的覆盖
参考:https://blog.youkuaiyun.com/baidu_27419681/article/details/76259372