CardView 上的透明背景 - Android

Transparent background on CardView - Android

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

你知道怎么做吗?或者可以用作 cardview 但我会设置透明背景的东西?

此致

将 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,则需要在 CardView 上调用这两个函数:

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

在我的例子中,我使用了属性 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"
        >

这应该适用于 API 17

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

在 SDK 版本 21 或更高版本中使 Android CardView 透明的步骤。

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

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

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

使用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>

只需添加背景颜色 app:cardBackgroundColor="#0000"

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