web-dev-qa-db-fra.com

Fond transparent sur CardView - Android

Je veux faire un fond transparent sur CardView . Je sais que backgroundColor mais j'ai une image sur ma mise en page.

Savez-vous comment le faire? Ou quelque chose qui fonctionne comme cardview mais je vais définir un fond transparent? 

Cordialement

50
mac229

Configurez votre CardView pour utiliser l'attribut cardBackgroundColor pour supprimer la couleur et l'attribut cardElevation pour supprimer l'ombre portée. Par exemple:

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

Pour une liste complète des attributs pris en charge, voir ici: https://developer.Android.com/reference/Android/support/v7/widget/CardView.html

Si vous utilisez une ancienne API, vous devrez plutôt appeler ces deux fonctions sur votre CardView:

myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);
105
Chris Stillwell

2 étapes simples pour rendre Android CardView transparent.

  1. Définissez app:cardBackgroundColor="@Android:color/transparent". C'est l'attribut CardView pour définir l'arrière-plan. 

  2. Définissez app:cardElevation="0dp" pour supprimer l'ombre.

Par exemple, voici un petit code xml pour créer un CardView

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

Note: Ne pas utiliser setBackground. Utilisez app:cardBackgroundColor à la place.

3
Rahul Raina

Dans mon cas, j'ai utilisé l'attribut attribut Android:backgroundTint="@color/some_color", il est uniquement utilisé en API de niveau 21 et supérieur . Et color #50000000 par exemple.

<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

Cela devrait fonctionner sur API 17  

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

utiliser 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