1、首先先说一下默认的阴影效果
// Java
setStateListAnimator(null);
// xml
android:stateListAnimator="@null"
2、自定义阴影实现的方式有很多种
a、将Button分层,将两层的背景区分开就OK,但是有个问题时,如果Button含有内容,比如文字、图片就会影响居中效果,毕竟这种方法的原理就是四个方位的偏移
b、这种比较好理解,把Button和阴影当作两个控件
<LinearLayout>
<Button/>
</LinearLayout>
我就是采用的这种方法,如上图你可以将阴影效果方法LinearLayout的背景上,也可以在Button元素下再添加一个View,专门存放阴影效果