38

我有以下用于卡片视图的 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent" android:padding="2dp">
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_gravity="center"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    card_view:cardCornerRadius="0dp">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="5dp">
        <TextView
            android:id="@+id/info_text"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </FrameLayout>
</android.support.v7.widget.CardView>
</LinearLayout>

这导致这些阴影在底部根本没有阴影

http://i.imgur.com/xNoIDR4.png

但我正在尝试获得类似这种阴影的东西,它可以更好地围绕整张卡片。

在此处输入图像描述

我已经尝试更改海拔高度但无济于事,并且在这个问题上搜索似乎除了没有阴影的人之外什么都没有提出,这不是我的情况。

我怎样才能得到正确的阴影?

谢谢。

4

5 回答 5

113

您需要在卡片视图中添加此 xml 属性

应用程序:cardUseCompatPadding="true"

于 2016-08-15T17:23:25.030 回答
5

添加clipChildren="false"到父母LinearLayout也应该工作。

于 2018-05-03T09:26:54.363 回答
2

使用 card_view:cardElevation 属性设置海拔

于 2015-04-02T15:55:27.490 回答
0

我遇到了同样的问题,直到我想起如果父母正在包装它的内容,那么它不会包裹阴影,所以我给了父母比孩子更大的尺寸,这样它将包括孩子和孩子的影子

 <androidx.constraintlayout.widget.ConstraintLayout 
 xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="110dp"
android:layout_height="110dp">

<androidx.cardview.widget.CardView xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="http://schemas.android.com/tools"
    android:layout_width="98dp"
    android:layout_height="98dp"
    app:cardCornerRadius="10dp"
    app:cardElevation="5dp"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.appcompat.widget.AppCompatImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="centerCrop"
        app:srcCompat="@drawable/manhattan" />

  
</androidx.cardview.widget.CardView>

  </androidx.constraintlayout.widget.ConstraintLayout>
于 2021-01-17T15:37:24.077 回答
0

在您的 cardView 中添加这些行

    android:layout_marginTop="5dp"
    android:layout_marginBottom="5dp"
于 2020-11-10T11:17:48.870 回答