Chcę zrobić przezroczyste tło w CardView. Wiem, że backgroundColor, ale mam obraz w moim układzie.
Czy wiesz, jak to zrobić? A może coś, co działa jak cardview, ale ustawię przezroczyste tło?
pozdrowienia
android
background
android-cardview
mac229
źródło
źródło
android:background="@android:color/transparent"
Odpowiedzi:
Skonfiguruj CardView, aby użyć
cardBackgroundColor
atrybutu do usunięcia koloru icardElevation
atrybutu, aby usunąć cień. Na przykład:<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">
Pełną listę obsługiwanych atrybutów znajdziesz tutaj: https://developer.android.com/reference/android/support/v7/widget/CardView.html
Jeśli korzystasz ze starszego interfejsu API, musisz
CardView
zamiast tego wywołać te dwie funkcje :myCardView.setCardBackgroundColor(Color.TRANSPARENT); myCardView.setCardElevation(0);
źródło
setCardElevation()
isetCardBackgroundColor()
od twojego kodu na ciebieCardView
Zobacz moją edycję.@null
ale nie udało się, jakiś pomysł?Proste 2 kroki, aby Android był
CardView
przejrzysty.Ustaw
app:cardBackgroundColor="@android:color/transparent"
. To jestCardView
atrybut do ustawiania tła.Zestaw
app:cardElevation="0dp"
do usuwania cienia.Na przykład tutaj jest mały kod XML do tworzenia przezroczystych
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" />
źródło
W moim przypadku użyłem atrybutu
android:backgroundTint="@color/some_color"
, jest on używany tylko na poziomie API 21 i wyższym . Icolor #50000000
na przykład.<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" >
źródło
To powinno działać na API 17
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
źródło
posługiwać się
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>
źródło
Po prostu dodaj aplikację do koloru tła: cardBackgroundColor = "# 0000"
<androidx.cardview.widget.CardView android:layout_width="match_parent" android:layout_height="match_parent" app:cardBackgroundColor="#0000">
źródło