2017-08-29 116 views
2

我最近已經放棄了將影子添加到GridView項目的想法並實施了CardViews網格中的CardView不會在所有面上顯示陰影

我現在面臨的問題是以下幾點:CardView項目顯示在GridView的邊界沒有陰影如下圖所示的畫面:

enter image description here

CardView預覽Android Studio中顯示的佈局邊界四周,如this picture所示。

如何向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是用於CardView佈局XML的要點。

+1

嘗試機器人:填充= 「」在GrideView標籤中的屬性 – Hamza

+0

@AmeerHamza正如我在我的文章中所說的,添加填充增加了GridView頁邊空白。沒有陰影來自'CardView' –

+0

嘗試轉換android:layout_width =「match_parent」這個wrap_contant然後使用填充 – Hamza

回答

2

訣竅是使用android:clipToPadding與水平填充一起屬性。這些屬性添加到您的GridView標籤:

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

沒有設置clipToPadding="false"你會看到你所提到的白條,但與它,你會看到:

enter image description here

+0

這是我正在尋找的答案。謝謝! –

0

正如@Ameer所說,您需要在包含GridView的位置添加一些填充以便爲陰影留出空間。調整padding屬性(左,右),你認爲合適:

<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"/> 
+0

如果我按照你的建議添加填充,並且正如我在帖子中所說的那樣,我只在側面獲得空白區域。 [這是證明](http://imgur.com/a/y29Ft) –