CardView上的透明背景-Android


84

我想在CardView上做透明背景。我知道backgroundColor但我的布局上有图像。

你知道怎么做吗?或作为cardview起作用的东西,但我将设置透明背景?

问候


尝试尝试android:background="@android:color/transparent"
Psypher

5
您应该使用cardBackgroundColor吗?
harism

android:background =“ @ android:color / transparent”不起作用,我不使用backgroundColor,因为它没有透明选项
mac229 2015年

我有同样的问题,无法弄清楚如何使其透明。
泰勒·帕夫

Answers:


166

设置CardView以使用该cardBackgroundColor属性删除颜色,并使用该属性删除cardElevation阴影。例如:

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

有关受支持属性的完整列表,请参见此处:https : //developer.android.com/reference/android/support/v7/widget/CardView.html

如果您使用的是较旧的API,则需要在您的API上调用以下两个函数CardView

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

嗨,它有效,您能告诉我android:和card_view:命名空间之间的区别吗?
user3290180 2015年

它不适用于api 19,但适用于api21。对于较低的API,它也是如此
-Muneeb Mirza

2
@MuneebMirza调用,setCardElevation()然后setCardBackgroundColor()从您的代码上CardView看到我的编辑。
克里斯·史迪威

1
好吧,我想这答案和它的工作:) stackoverflow.com/questions/34810447/...
Muneeb米尔扎

我尝试设置,@null但是没有用,知道吗?
Gokhan Arik

10

简单的2个步骤即可使AndroidCardView透明。

  1. 设置app:cardBackgroundColor="@android:color/transparent"。这是CardView设置背景的属性。

  2. 设置app:cardElevation="0dp"以去除阴影。

例如,下面是创建透明的小xml代码 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" />

注意:请勿使用setBackground。使用app:cardBackgroundColor代替。


5

就我而言,我使用的属性 android:backgroundTint="@color/some_color"仅在API级别21和更高版本中使用。而color #50000000例如。

<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

使用 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>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.