Ich möchte transparenten Hintergrund auf CardView . Ich kenne backgroundColor, habe aber ein Bild auf meinem Layout.
Weißt du wie das geht? Oder etwas, das als Kartenansicht funktioniert, aber ich werde einen transparenten Hintergrund setzen?
Grüße
Richten Sie Ihre CardView so ein, dass das Attribut cardBackgroundColor
zum Entfernen von Farbe und das Attribut cardElevation
zum Entfernen des Schlagschattens verwendet werden. Zum Beispiel:
<Android.support.v7.widget.CardView
xmlns:card_view="http://schemas.Android.com/apk/res-auto"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/myCardView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
card_view:cardBackgroundColor="@Android:color/transparent"
card_view:cardElevation="0dp">
Eine vollständige Liste der unterstützten Attribute finden Sie hier: https://developer.Android.com/reference/Android/support/v7/widget/CardView.html
Wenn Sie eine ältere API verwenden, müssen Sie stattdessen diese beiden Funktionen in Ihrer CardView
aufrufen:
myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);
Einfache 2 Schritte, um Android CardView
transparent zu machen.
Setze app:cardBackgroundColor="@Android:color/transparent"
. Dies ist das CardView
-Attribut, um den Hintergrund festzulegen.
Stellen Sie app:cardElevation="0dp"
ein, um den Schatten zu entfernen.
Zum Beispiel ist hier ein kleiner XML-Code, um transparente CardView
zu erstellen.
<Android.support.v7.widget.CardView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/card_view"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:cardBackgroundColor="@Android:color/transparent"
app:cardElevation="0dp" />
Hinweis: Nicht verwenden
. Verwenden Sie stattdessensetBackground
app:cardBackgroundColor
.
In meinem Fall habe ich das attribute Android:backgroundTint="@color/some_color"
verwendet, es wird nur in API Level 21 und höher verwendet. Und color #50000000
zum Beispiel.
<Android.support.v7.widget.CardView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
card_view:cardCornerRadius="3dp"
app:cardElevation="0dp"
Android:backgroundTint="@color/negro_label"
>
Dies sollte auf API 17 funktionieren
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), Android.R.color.transparent));
verwenden Sie app:cardBackgroundColor="@Android:color/transparent"
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_marginBottom="20dp"
Android:layout_marginLeft="20dp"
Android:layout_marginRight="20dp"
Android:layout_marginTop="10dp"
app:cardCornerRadius="16dp"
app:cardElevation="16dp"
app:cardBackgroundColor="@Android:color/transparent" >
<--inside cardlayout-->
</Android.support.v7.widget.CardView>