CardViewの透明な背景-Android


84

CardViewで背景を透明にしたい。backgroundColorは知っていますが、レイアウトに画像があります。

あなたはそれをどのように知っていますか?または、カードビューとして機能するものですが、透明な背景を設定しますか?

よろしく


試しましたかandroid:background="@android:color/transparent"
Psypher 2015

5
cardBackgroundColorを使用する必要がありますか?
harism 2015

android:background = "@ android:color / transparent"が機能しない透明のオプションがないため、backgroundColorを使用しません
mac229 2015

私は同じ問題を抱えていました、それを透明にする方法を理解できませんでした。
Tyler Pfaff 2015年

回答:


166

cardBackgroundColor属性を使用して色を削除し、属性を使用しcardElevationてドロップシャドウを削除するようにCardViewを設定します。例えば:

<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代わりに次の2つの関数を呼び出す必要があります。

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

こんにちは、動作します。android:とcard_view:の名前空間の違いを教えてください。
user3290180 2015年

api 19では機能しませんが、api 21では機能します。下位APIではどのように機能しますか
Muneeb Mirza

2
@MuneebMirza呼び出しsetCardElevation()setCardBackgroundColor()あなたのコードからCardView私の編集を参照してください。
クリス・スティルウェル

1
わかりました、私はこの答えを試しました、そしてそれはうまくいき
Muneeb Mirza

設定しようとしました@nullが、うまくいきませんでした。
Gokhan Arik 2016

10

AndroidをCardView透過的にするための簡単な2つのステップ。

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

注:は使用しないでくださいsetBackgroundapp: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>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.