Din*_*T A 32 android android-layout android-cardview android-5.0-lollipop
我在我的Android应用程序中使用cardview.然而阴影没有显示出来.这是xml布局
默认选项菜单阴影也未显示.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ECEDF0"
android:orientation="vertical" >
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clipChildren="false"
card_view:cardBackgroundColor="@color/white"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="14dp"
card_view:cardUseCompatPadding="true" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="20dp"
android:text="Google Play" />
</android.support.v7.widget.CardView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Ram*_*tra 91
在再次浏览文档后,我终于找到了解决方案.
只需添加card_view:cardUseCompatPadding="true"到您的CardView阴影将出现在Lollipop设备上.
发生的事情是,在CardView棒棒糖前和棒棒糖设备上采用不同大小的内容区域.因此,在棒棒糖设备中,阴影实际上被卡覆盖,因此它不可见.通过添加此属性,内容区域在所有设备上保持不变,阴影变为可见.
我的xml代码如下:
<android.support.v7.widget.CardView
android:id="@+id/media_card_view"
android:layout_width="match_parent"
android:layout_height="130dp"
card_view:cardBackgroundColor="@android:color/white"
card_view:cardElevation="2sp"
card_view:cardUseCompatPadding="true"
>
...
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)
And*_*ICE 15
如前所述,CardView没有在Android L中显示Shadow,
确保您正在使用绘制视图hardwareAccelerated = true
有关详细信息,请参阅Android硬件加速
对于Lollipop及更高版本,您应该为卡添加一些边距:
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
/>
Run Code Online (Sandbox Code Playgroud)
由于阴影位于实际视图之外