并非所有 CardView 都被提升

not all CardViews are elevated

这是我的 activity 目前的样子。

我可以抬高前两个 CardView 但底部的那个不能抬高。 app:cardElevationandroid:elevation 我都试过了,但是 none 提升了最后一张牌。 (请问这两者有什么区别?)

如何提升它?

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:id="@+id/ef_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="?android:attr/colorBackgroundFloating"
            android:elevation="2dp"
            app:contentInsetStart="0dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent">

            <android.support.constraint.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <ImageButton
                    android:id="@+id/cancel_button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginStart="16dp"
                    android:background="@android:color/transparent"
                    android:src="@drawable/ic_cancel"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <ImageButton
                    android:id="@+id/confirm_button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginEnd="16dp"
                    android:background="@android:color/transparent"
                    android:src="@drawable/ic_confirm"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />
            </android.support.constraint.ConstraintLayout>
        </android.support.v7.widget.Toolbar>

        <android.support.v7.widget.CardView
            android:id="@+id/food_image_card"
            android:layout_width="180dp"
            android:layout_height="180dp"
            android:layout_marginStart="20dp"
            android:layout_marginTop="20dp"
            android:layout_marginEnd="20dp"
            app:cardElevation="2dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/ef_toolbar">
            <android.support.constraint.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <ImageView
                    android:id="@+id/food_image"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="centerCrop"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    app:srcCompat="@drawable/food_image_place_holder" />

                <ImageButton
                    android:id="@+id/camera_button"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:layout_constraintBottom_toBottomOf="parent"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:srcCompat="@drawable/ic_camera" />
            </android.support.constraint.ConstraintLayout>
        </android.support.v7.widget.CardView>

        <android.support.v7.widget.CardView
            android:id="@+id/food_name_card_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="24dp"
            app:cardElevation="2dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/food_image_card">
            <EditText
                android:id="@+id/edit_food_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="15dp"
                android:ems="10"
                android:hint="Food Name"
                android:background="@null"
                android:maxLength="50"
                android:maxLines="1"
                android:inputType="textPersonName"
                android:importantForAutofill="no" />
        </android.support.v7.widget.CardView>

        <TextView
            android:id="@+id/tags_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="16dp"
            android:text="Tags"
            android:textSize="16sp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/food_name_card_view" />

        <ImageButton
            android:id="@+id/add_tag_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="8dp"
            android:background="@android:color/transparent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@+id/tags_text"
            app:srcCompat="@drawable/ic_add_dark" />

        <android.support.v7.widget.CardView
            android:id="@+id/tag_card_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:minHeight="120dp"
            app:cardElevation="2dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tags_text">

            <FrameLayout
                android:id="@+id/tags_frame"
                android:layout_margin="4dp"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </android.support.v7.widget.CardView>

        <TextView
            android:id="@+id/food_note"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="8dp"
            android:layout_marginTop="16dp"
            android:text="Note"
            android:textSize="16sp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/tag_card_view" />

        <android.support.v7.widget.CardView
            android:id="@+id/food_note_card_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            app:cardElevation="2dp"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/food_note">

            <EditText
                android:id="@+id/edit_note"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:ems="10"
                android:textSize="16sp"
                android:background="@null"
                android:minHeight="200dp"
                android:gravity="start|top"
                android:inputType="textMultiLine"
                android:singleLine="false" />
        </android.support.v7.widget.CardView>
    </android.support.constraint.ConstraintLayout>
</ScrollView>

这很有用

app:cardUseCompatPadding="true"

参见下面的例子

 <androidx.cardview.widget.CardView
    app:cardBackgroundColor="#FF0000"
    app:cardElevation="2dp"
    app:cardUseCompatPadding="true"
    android:layout_width="match_parent"
    android:layout_height="200dp"/>

添加

此卡片视图的底部边距 = 10dp

android:id="@+id/food_note_card_view"

Cardview 在 Cardview 中无法正常工作。

请尝试将您的卡片视图放入其他布局,例如 FrameLayout 或 RelativeLayout。