Transparent background on CardView - Android

AndroidBackgroundAndroid Cardview

Android Problem Overview


I want to do transparent background on CardView. I know backgroundColor but i have image on my Layout.

Do you know how do it? Or something which work as cardview but i will set a transparent background?

Regards

Android Solutions


Solution 1 - Android

Setup your CardView to use the cardBackgroundColor attribute to remove color and cardElevation attribute to remove the drop shadow. For example:

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

For a full list of supported attributes see here: https://developer.android.com/reference/android/support/v7/widget/CardView.html

If you are using an older API, you will need to call these two functions on your CardView instead:

myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);

Solution 2 - Android

in SDK version 21 or higher steps to make Android CardView transparent.

  1. Set android:backgroundTint="@android:color/transparent". This is CardView attribute to set background.

  2. Set android:cardElevation="0dp" to remove the shadow.

For example, here is small xml code to create transparent CardView

<androidx.cardview.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" />

Solution 3 - Android

In my case, I used the attribute android:backgroundTint="@color/some_color",it is only used en API level 21 and higher. And color #50000000 for example.

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

Solution 4 - Android

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

Solution 5 - Android

This should work on API 17

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

Solution 6 - Android

Just add background color app:cardBackgroundColor="#0000"

<androidx.cardview.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:cardBackgroundColor="#0000"> 

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionmac229View Question on Stackoverflow
Solution 1 - AndroidChris StillwellView Answer on Stackoverflow
Solution 2 - AndroidRahul RainaView Answer on Stackoverflow
Solution 3 - AndroidgerosView Answer on Stackoverflow
Solution 4 - AndroidKapil ParmarView Answer on Stackoverflow
Solution 5 - AndroidCristian CardosoView Answer on Stackoverflow
Solution 6 - Androiduser12091113View Answer on Stackoverflow