cardElevation 在 Lollipop 上不显示阴影

cardElevation not showing shadows on Lollipop

我在这里检查了一大堆答案,仍然没有骰子。 Android Studio 预览显示阴影,但不是 5.1.1 Nexus 7。

这是我的 XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:card_view="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  card_view:cardCornerRadius="4dp"
  card_view:cardUseCompatPadding="true"
  card_view:cardElevation="20sp"
  card_view:cardPreventCornerOverlap="true"
  android:layout_margin="6dp"
>

所以我used cardUseCompatPadding (also here), checked the documentation确保卡片有余量....没有骰子。

我在 https://gist.github.com/tigerhawkvok/0ca3d1f402afa29642d5 发布了总共 XML 个文件。

帮忙?

在设备上,仅当视图背景不为空且不透明时才会绘制阴影。但是,Android Studio 中布局预览中的错误阻止它在绘制阴影之前检查背景。因此你看到了差异。

但您真的不需要在卡片视图上设置高度,因为它会创建自己的阴影或根据平台版本设置高度。