2017-08-29 2 views
2

Ich habe vor kurzem die Idee, Schatten zu GridView Elemente hinzugefügt und implementiert CardViews.CardView in Grid nicht Schatten auf allen Seiten anzeigen

Die Frage, die ich bin vor ist der folgende: die CardView Elemente an den Grenzen des GridView keinen Schatten angezeigt werden, wie unten im Bild gezeigt:

enter image description here

Die CardView Vorschau in Android Studio zeigt das Layout mit Rändern an allen Seiten, dargestellt in this picture.

Wie kann ich Schatten an den Seiten des GridView hinzufügen? Warum kommt kein Schatten von den Cardview Artikeln?

Ich habe versucht, zu reduzieren/die Größe von Spalten Gridview zu erhöhen, habe ich versucht, margin und padding zum GridView hinzufügen. Ich habe versucht, einen größeren Rand zum Cardview hinzuzufügen. Keine von ihnen hat funktioniert.

Dies ist der Code für die 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 ist der Kern für die CardView Layout xml.

+1

try android: padding = "" Eigenschaft in GrideView Tags – Hamza

+0

@AmeerHamza Wie ich in meinem Beitrag sagte, erhöht das Hinzufügen von Padding Leerraum auf den GridView-Rändern. Kein Schatten kommt von der 'CardView' –

+0

versuchen, Android zu konvertieren: layout_width =" match_parent "diese wrap_contant dann Padding verwenden – Hamza

Antwort

2

Der Trick die android:clipToPadding Attribut zu verwenden, ist zusammen mit horizontaler Polsterung. Fügen Sie diese Attribute zu Ihrem GridView tag:

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

Ohne clipToPadding="false" Einstellung Sie werden die weißen Balken sehen Sie erwähnt haben, aber damit werden Sie sehen:

enter image description here

+0

Dies ist die Antwort, die ich suchte. Vielen Dank! –

0

Wie @Ameer gesagt hat, müssen Sie eine Füllung auf dem enthaltenden GridView hinzufügen, um Platz für die Schatten zu lassen. Passen Sie die Polstereigenschaften (links und rechts), wie Sie sehen, passen:

<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

Wenn ich Padding wie Sie vorschlagen, und wie ich in meinem Beitrag sagte, bekomme ich nur weiße Leerzeichen auf den Seiten. [Dies ist der Beweis] (http://imgur.com/a/y29Ft) –

Verwandte Themen