Leerzeichen beim Skalieren der Bildansicht in der Gridview

8

Ich möchte eine Benutzeroberfläche ähnlich den Google Play-Karten implementieren.

Ich habe eine GridView und den Hintergrund der Karte als XML-Datei erstellt. Jetzt suche ich Bilder auf der Karte, so dass der untere Schatten sichtbar ist, aber die Breite des Bildes ist die gleiche wie die Breite der Karte. Das Problem ist, dass um das Bild herum Leerraum ist, obwohl ich die GridView.LayoutParams proportional zu der Bildgröße einstelle. Ich habe verschiedene scaleType ausprobiert, aber keine funktionierte. Sobald ich die Breite des Bildes an die Breite der Karte angepasst habe, wie stelle ich sicher, dass der untere Schatten noch sichtbar ist?

Meine Bildadapterklasse

%Vor%

bg_card.xml

%Vor%

gridview.xml

%Vor%

Die tatsächliche Größe der Bilder ist

%Vor%     
Jiyda Moussa 03.02.2014, 19:17
quelle

1 Antwort

7

Ihre Bilder füllen die Karte nicht aus, da Sie im Kartenhintergrund auf jeder Seite eine Auffüllung von 8dp haben

%Vor%

Entfernen Sie das Padding, damit es die Breite ausfüllt.

Wenn Sie auch den Schatten behalten möchten, wäre es besser, einen 9-Patch für Ihren Hintergrund zu erstellen, damit Sie definieren können, wo der Inhalt liegt, etwa wie folgt:

Die schwarzen Linien auf der ganz linken und oberen Seite stellen die skalierbaren Bereiche dar und die Linien auf der unteren und rechten Seite stellen die Bereiche dar, in denen sich der Inhalt befindet (beachten Sie den Inhaltsbereich auf der rechten Seite, nicht <) / strong> den Schattenbereich abdecken).

    
Joseph Earl 05.02.2014, 20:05
quelle

Tags und Links