Android透明度和阴影

时间:2017-05-17 14:19:48

标签: android transparency material shadows

我有一张卡片视图,背景色透明,海拔高度为4dp。

似乎没有办法阻止阴影在透明卡片内可见。我不断得到一个奇怪的轮廓,必须是下面画的阴影。

有没有办法(适用于API 21及以上版本)只能在我的卡片外面绘制阴影,这样我就可以使用透明色而不会产生伪影?

卡片查看STYLE 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

这里看起来像是什么(由阴影引起的奇怪边框):

here's what it looks like. weird border caused by the shadow

1 个答案:

答案 0 :(得分:0)

使用cardUseCompatPadding作为false删除内部paddingshadow

尝试这种风格:

<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>