如果布局中有两张卡片,则第二张卡片下方没有 shadow/elevation。为什么?

No shadow/elevation underneath second card if there are two card in the layout. Why?

我在一个 RelativeLayout 中有 2 个 cards

问题是第二张卡片下方没有高程或阴影。

在此处查看屏幕截图:screenshot

这是我在 xml 文件中所做的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.abc.xyz.abcActivity">

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

        <TextView
            android:id="@+id/cba_screen_text"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="@string/cba_screen_text"
            android:textColor="@android:color/white"
            android:textSize="@dimen/cba_screen_text"
            android:gravity="center_horizontal|center_vertical"
            android:layout_gravity="center_horizontal|center_vertical"/>

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/signup_screen_first_cardview_top_margin"
            app:contentPadding="10dp"
            app:cardBackgroundColor="@android:color/white">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal|center_vertical"
                android:orientation="vertical">

            <!--  N Label -->
            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="@dimen/abc_screen_name_label_topmargin">
                <EditText android:id="@+id/input_n"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:inputType="textCapWords"
                          android:textColor="@color/colorPrimary"
                          android:hint="N" />
            </android.support.design.widget.TextInputLayout>

            <!-- E Label -->
            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/abc_screen_name_label_topmargin"
                android:layout_marginBottom="@dimen/abc_screen_name_label_topmargin">
                <EditText android:id="@+id/input_e"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:inputType="textCapWords"
                          android:textColor="@color/colorPrimary"
                          android:hint="E" />
            </android.support.design.widget.TextInputLayout>

            <!-- P Label -->
            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/abc_screen_name_label_topmargin"
                android:layout_marginBottom="@dimen/abc_screen_name_label_topmargin">
                <EditText android:id="@+id/input_p"
                          android:layout_width="match_parent"
                          android:layout_height="wrap_content"
                          android:inputType="textCapWords"
                          android:textColor="@color/colorPrimary"
                          android:hint="P"/>
            </android.support.design.widget.TextInputLayout>

            <!-- S Button -->
            <android.support.v7.widget.AppCompatButton
                android:id="@+id/btn_s"
                android:layout_width="@dimen/s_btn_width"
                android:layout_height="wrap_content"
                android:layout_marginTop="@dimen/c_btn_topmargin"
                android:layout_gravity="center_horizontal"
                android:padding="12dp"
                android:text="C"
                android:textSize="@dimen/s_btn_text_size"/>

                <TextView android:id="@+id/l"
                          android:layout_width="fill_parent"
                          android:layout_height="wrap_content"
                          android:layout_marginTop="@dimen/a_topmargin"
                          android:text="A"
                          android:gravity="center"
                          android:textSize="16sp"/>

            </LinearLayout>

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

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:layout_gravity="center_horizontal|center_vertical"
            android:text="OR"
            android:textStyle="bold"
            android:textSize="20sp"
            android:textColor="@android:color/white"/>

        <android.support.v7.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:contentPadding="10dp"
            app:cardElevation="2dp"
            app:cardBackgroundColor="@android:color/white">

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

                <com.google.android.gms.common.SignInButton
                    android:id="@+id/google_login_button"
                    android:layout_width="@dimen/sign_in_btn_width"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal" />

                <com.facebook.login.widget.LoginButton
                    android:id="@+id/facebook_login_button"
                    android:layout_width="@dimen/sign_in_btn_width"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="5dp"
                    android:layout_gravity="center_horizontal" />

            </LinearLayout>

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

    </LinearLayout>

</RelativeLayout>

请告诉我为什么会这样,我怎样才能让第二张卡片下面也有 shadow/elevation?

您的 LinearLayout 正在包裹其高度,切断卡片底部的阴影。

要么在 LinearLayout 的底部放置一些内边距,要么在其高度上将其设置为 match_parent。

PS 外部 RelativeLayout 没用 -- 摆脱它并将所有填充和背景放在内部 LinearLayout