Runde nur obere Ecke von cardview

8

Ich möchte nur den oberen Rand eines Kartenansichts anzeigen.

Ich habe unterhalb der Eigenschaft verwendet und es umrundet die ganze Ecke.

Ich möchte eine Überlappung aller Karten zeigen

%Vor%

Hier ist mein Layout

%Vor%     
Puneet Kushwah 24.12.2015, 14:21
quelle

3 Antworten

7

Wir können den marginBottom der Kartenansicht auf einen negativen Wert setzen.Margin sollte denselben Wert wie der Kartenradius haben. Zum Beispiel,

%Vor%

Es funktioniert für mich. Aber ich bin im Zweifel, ob es die richtige Art zu tun ist. Irgendwelche Vorschläge sind willkommen.

    
Swathi 18.11.2016 05:33
quelle
5

Android Cardview, das Ihnen benutzerdefinierte runde Eckposition ermöglicht. Referenz: Ссылка

    
qinmiao 16.04.2016 12:20
quelle
0

Wie bei der Frage gehe ich davon aus, dass Sie die Eckenradius-Eigenschaft nur auf die Oberseite der Karte anwenden möchten. Sie können diesen Effekt erhalten, indem Sie zwei CardView verwenden. Platzieren Sie ein CardView in einem anderen CardView und entfernen Sie die äußere CardView Eckenradius-Eigenschaft. Fügen Sie Ihrem äußeren CardView einen transparenten Hintergrund hinzu. Ihr inneres CardView hat einen cornerRadius Wert von 4dp. Wenden Sie dann eine marginTop auf Ihre innere CardView an, so dass ihr unterer Teil durch die äußere CardView verdeckt wird. Auf diese Weise wird der untere Eckenradius Ihres inneren CardView ausgeblendet.

Sie müssen Ihren xml-Inhalt in Ihre Inner CardView setzen. Outer CardView dient nur dazu, die unteren abgerundeten Ecken des inneren CardView zu verbergen. Ihr XML-Layout sieht folgendermaßen aus:

%Vor%

Ich habe Bezug genommen auf diese SO Frage: Frage . Ich hoffe es löst dein Problem.

    
brainbreaker 24.12.2015 18:58
quelle