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%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.
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:
Ich habe Bezug genommen auf diese SO Frage: Frage . Ich hoffe es löst dein Problem.
Tags und Links android android-layout android-cardview