wake-up-neo.com

Transparenter Hintergrund auf CardView - Android

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

50
mac229

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);
105
Chris Stillwell

Einfache 2 Schritte, um Android CardView transparent zu machen.

  1. Setze app:cardBackgroundColor="@Android:color/transparent". Dies ist das CardView-Attribut, um den Hintergrund festzulegen. 

  2. 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 setBackground. Verwenden Sie stattdessen app:cardBackgroundColor.

3
Rahul Raina

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"
        >

2
geros

Dies sollte auf API 17 funktionieren  

cardView.setBackgroundColor(ContextCompat.getColor(getContext(), Android.R.color.transparent));
1

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>
0
Kapil Parmar