Android有各种方式去设置一个控件的阴影,比如layer-list等方式,其中有一种是使用CardView的elevation属性来设置阴影,同时又可以设置圆角的半径来达到圆角矩形的效果,不过设置完圆角后,会发现四个角有黑色的部分,显得很难看。
比如下面的代码:
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@color/white"
android:elevation="3dp"
android:translationZ="3dp"
app:cardCornerRadius="10dp">
设置后效果如下:
角落里很难看,其实一行代码就能解决,增加属性如下:
app:cardUseCompatPadding="true"
增加后,我们再来看看效果:
是不是就正常了,很简单吧。
PS:示例中的CardView使用的是androidx包的,正常support包的也没问题,也有该属性。