我的名片视图具有透明的背景色,并且标高为4dp。
似乎没有办法遮挡透明卡内的阴影。我不断得到一个奇怪的轮廓,它一定是下面绘制的阴影。
有什么方法(在API 21及更高版本上有效)仅在卡的外部绘制阴影,以便我可以使用透明的颜色而没有伪像?
卡片视图样式xml
<style name="GridCard" parent="CardView">
<item name="cardCornerRadius">4dp</item>
<item name="cardElevation">4dp</item>
<item name="cardUseCompatPadding">true</item>
<item name="android:layout_marginLeft">8dp</item>
<item name="android:layout_marginRight">8dp</item>
<item name="android:layout_marginTop">16dp</item>
<item name="cardBackgroundColor">@color/white_70</item>
</style>
[white_70
是#50FFFFFF
这是它的外观(阴影引起的奇怪边框):
仅将cardUseCompatPadding
用作false
即可删除内部的padding
和shadow
。
尝试这种风格:
<style name="GridCard" parent="CardView">
<item name="cardCornerRadius">4dp</item>
<item name="cardElevation">4dp</item>
<item name="cardUseCompatPadding">false</item>
<item name="android:layout_marginLeft">8dp</item>
<item name="android:layout_marginRight">8dp</item>
<item name="android:layout_marginTop">16dp</item>
<item name="cardBackgroundColor">@color/white_70</item>
</style>