web-dev-qa-db-ja.com

CardViewの透明な背景-Android

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

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

よろしく

64
mac229

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);
129
Chris Stillwell

Android CardViewを透明にする簡単な2ステップ

  1. app:cardBackgroundColor="@Android:color/transparent"を設定します。これは、背景を設定するCardView属性です。

  2. app:cardElevation="0dp"を設定して、影を削除します。

たとえば、ここに透明なCardViewを作成するための小さなxmlコードがあります

<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
Rahul Raina

私の場合、attributeAndroid: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"
        >
3
geros

これはAPI 17で動作するはずです

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

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