我有以下用于cardview的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>
这导致这些阴影在底部没有阴影
但是我试图得到像这样的影子,更好地围绕整张卡。
我尝试过更改高程无济于事,而且在这个问题上进行搜索似乎只会带来没有阴影所有问题的人,这不是我的情况。
我怎样才能让阴影正确?
感谢。
答案 0 :(得分:87)
您需要在卡片视图中添加此xml属性
应用程式:cardUseCompatPadding = “真”
答案 1 :(得分:2)
使用card_view设置高程:cardElevation属性
答案 2 :(得分:2)
将clipChildren="false"
添加到父LinearLayout
也应该有效。
答案 3 :(得分:0)
将这些行添加到cardView
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
答案 4 :(得分:0)
您可以将此代码用于cardView
<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"
android:elevation="5dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp">
</android.support.v7.widget.CardView>
答案 5 :(得分: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>