网格中的CardView不会在所有方面显示阴影

时间:2017-08-29 17:53:04

标签: android gridview android-cardview cardview

我最近放弃了向GridView项添加阴影并实施CardViews的想法。

我面临的问题如下:CardView项目在GridView的边框处没有显示阴影,如下图所示:

monoids

Android Studio中的CardView预览会在所有方面显示带边框的布局,如enter image description here所示。

如何在GridView的两侧添加阴影?为什么Cardview项目没有阴影?

我尝试减少/增加GridView列的大小,我尝试将marginpadding添加到GridView。我尝试为Cardview添加更大的保证金。他们都没有工作。

这是GridView

的代码
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent">
<GridView
    android:id="@+id/CatalogGridList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:horizontalSpacing="8dp"
    android:numColumns="auto_fit"
    android:columnWidth="128dp"
    android:stretchMode="columnWidth"
    android:verticalSpacing="8dp"/>
</LinearLayout>

this picture是CardView布局xml的要点。

2 个答案:

答案 0 :(得分:2)

诀窍是将android:clipToPadding属性与水平填充一起使用。将这些属性添加到GridView代码中:

    android:paddingLeft="8dp"
    android:paddingRight="8dp"
    android:clipToPadding="false"

如果不设置clipToPadding="false",您会看到您提到的白条,但有了它,您会看到:

enter image description here

答案 1 :(得分:0)

正如@Ameer所说,你需要在包含GridView的地方添加一些填充,以便为阴影留出空间。根据需要调整填充属性(左侧和右侧):

<GridView
    android:id="@+id/CatalogGridList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:horizontalSpacing="8dp"
    android:numColumns="auto_fit"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:columnWidth="128dp"
    android:stretchMode="columnWidth"
    android:verticalSpacing="8dp"/>