Android CardView cardElevation 和阴影不起作用

Android CardView cardElevation and shadow is not working

我有这套卡片,在 activity 中使用 CardView。

当 运行 应用程序时,我得到这个不是预期的卡片视图:没有高程,没有阴影...

Android 7 设备上的结果:

代码

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    card_view:cardCornerRadius="4dp"
    card_view:cardElevation="4dp"
    card_view:cardUseCompatPadding="true"
    android:layout_margin="8dp"
    android:gravity="center_horizontal"
    android:id="@+id/card_view"
    android:padding="10dp"
    android:layout_centerHorizontal="true"
    card_view:cardBackgroundColor="@color/main_color_grey_800">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/image"
            android:layout_width="match_parent"
            android:layout_height="350.0dp"
            android:scaleType="centerCrop"
             />

        <TextView
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:padding="15.0dp"
            android:textColor="@android:color/black"
            android:textSize="16.0sp"
            android:text="@string/LoremText" />

        <TextView
            android:id="@+id/desc"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:padding="15.0dp"
            android:textColor="@android:color/black"
            android:textSize="12.0sp"
            android:textAlignment="center"
            android:text="@string/LoremText" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="end"
            android:orientation="horizontal"
            android:paddingTop="10.0dip">

            <Button
                android:id="@+id/answer_1"
                android:layout_width="0px"
                android:layout_height="50.0dip"
                android:text="@string/Maybe"
                android:textColor="@color/white"
                android:background="@color/cpb_red"
                android:textSize="14sp"
                style="@style/DBTheme.Button.Orange"
                android:textStyle="bold"
                android:layout_weight="1"
                tools:ignore="ButtonStyle"
                android:visibility="gone" />

            <Button
                android:id="@+id/answer_2"
                style="@style/DBTheme.Button.Orange"
                android:layout_width="0px"
                android:layout_height="50.0dip"
                android:text="@string/yes_button"
                android:textColor="@android:color/white"
                android:textSize="14sp"
                android:textStyle="bold"
                android:background="@color/cpb_red"
                android:layout_weight="1"
                android:visibility="gone" />
            <Button
                android:id="@+id/answer_3"
                style="@style/DBTheme.Button.Orange"
                android:layout_width="0px"
                android:layout_height="50.0dip"
                android:layout_weight="1.0"
                android:textStyle="bold"
                android:text="@string/no_button"
                android:textColor="@color/white"
                android:background="@color/cpb_red"
                android:textSize="14sp"
                android:visibility="gone" />
        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="4.0dp"
        android:background="@drawable/shadow" />
</android.support.v7.widget.CardView>

关于如何解决这个问题的任何想法?谢谢:)

Use this code ma resolve your issue

<android.support.v7.widget.CardView
            android:id="@+id/cardview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:elevation="5dp"
            card_view:cardBackgroundColor="@color/cardview_initial_background"
            card_view:cardCornerRadius="8dp"
            android:layout_marginLeft="@dimen/margin_large"
            android:layout_marginRight="@dimen/margin_large"
            >

在挖掘、播放和修改布局后,我什至创建了一个新项目并在当前项目中添加了相同的代码我得到了不同的结果 xD,原来问题是由这个引起的android:hardwareAccelerated="false"AndroidManifest.xml file.Just 中将该属性的值设置为 true,您就可以开始了。

显示高程阴影需要一些边距。只需输入 layout_margin="<some_value>" 即可完美运行。

在您的 XML 文件中使用它

 <android.support.v7.widget.CardView
            android:id="@+id/card_view"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            app:cardBackgroundColor="@color/white"
            app:cardCornerRadius="@dimen/_5sdp"
            app:cardElevation="@dimen/_8sdp"
            app:contentPadding="@dimen/_15sdp"
            app:cardUseCompatPadding="true">

 </android.support.v7.widget.CardView>