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