我最近放弃了向GridView
项添加阴影并实施CardViews
的想法。
我面临的问题如下:CardView
项目在GridView
的边框处没有显示阴影,如下图所示:
Android Studio中的CardView
预览会在所有方面显示带边框的布局,如所示。
如何在GridView的两侧添加阴影?为什么Cardview
项目没有阴影?
我尝试减少/增加GridView列的大小,我尝试将margin
和padding
添加到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的要点。
答案 0 :(得分:2)
诀窍是将android:clipToPadding
属性与水平填充一起使用。将这些属性添加到GridView
代码中:
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:clipToPadding="false"
如果不设置clipToPadding="false"
,您会看到您提到的白条,但有了它,您会看到:
答案 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"/>