Hinzufügen farbigen Rand auf cardview?
Ich bin neu auf Android und dies ist meine erste Frage hier.
Ich versuche, fügen Sie einen farbigen vertikalen Grenze am Anfang der cardview. Wie kann ich es erreichen, das auf xml ? Ich habe versucht, hinzufügen, mit leeren textview ist es aber vermasselt die ganze cardview selbst. Bitte überprüfen Sie das Bild link gepostet unten, zum Beispiel.
activity_main.xml
<android.support.v7.widget.CardView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
card_view:contentPadding="16dp"
card_view:cardElevation="2dp"
card_view:cardCornerRadius="5dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
style="@style/Base.TextAppearance.AppCompat.Headline"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Title" />
<TextView
style="@style/Base.TextAppearance.AppCompat.Body1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Content here" />
</LinearLayout>
</android.support.v7.widget.CardView>
Vielen Dank
- müssen Sie verwenden eine cardview hier? was nur ein Flugzeug linearlayout und das hinzufügen einer ItemDecoration zu Ihrem recycler anzeigen?
- Ich bin ein Anfänger auf Android-und recyclerview ist etwas advanced für meine aktuelle skill-set. Also, ich bin mit cardview hier.
- okay, ich habe eine Lösung für Sie unten
Du musst angemeldet sein, um einen Kommentar abzugeben.
tun versuchen:
dieser entfernt die Polsterung aus der cardview und fügt ein FrameLayout mit einer Farbe. Sie müssen dann fix die Polsterung im LinearLayout dann für die anderen Felder
Update
Wenn Sie möchten, bewahren Sie die Karte Eckenradius erstellen card_edge.xml in drawable Ordner:
und in der frame-layout verwenden
android:background="@drawable/card_edge"
Start Von der material-design-update, it-support
app:strokeColor
und auchapp:strokeWidth
. sehen Sie mehrVerwendung material-design-update. fügen Sie folgenden code zum
build.gradle
(app)cardView
zuMaterialCardView
Ich denke, diese Lösung ist nicht effizient, aber es dient dem Zweck, und fügt hinzu, Flexibilität mit der Rahmenbreite.
Ich möchte zu verbessern, die vorgeschlagene Lösung von Amit. Ich bin die Nutzung der vorhandenen Ressourcen ohne zusätzliche
shapes
oderViews
. Ich gebeCardView
eine Hintergrundfarbe und dann verschachtelte layout, Farbe weiß zu überdrucken noch mit einigenleftMargin
...Ich dies Problem gelöst, indem Sie zwei CardViews in einem RelativeLayout. Ein hintergrund mit der Rahmenfarbe und die andere mit dem Bild. (oder was auch immer Sie verwenden möchten)
Hinweis: die Marge Hinzugefügt, um top-und der start für die zweite CardView. In meinem Fall entschied ich mich für eine 2dp dicken Rand.