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
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
Odpowiedzi:
Skonfiguruj CardView, aby użyć cardBackgroundColor
atrybutu do usunięcia koloru i cardElevation
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);
setCardElevation()
i setCardBackgroundColor()
od twojego kodu na ciebie CardView
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 jest CardView
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" />
Uwaga: nie używaj
. UżyjsetBackground
app:cardBackgroundColor
zamiast tego.
W moim przypadku użyłem atrybutu android:backgroundTint="@color/some_color"
, jest on używany tylko na poziomie API 21 i wyższym . I color #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"
>
To powinno działać na API 17
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
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>
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">
android:background="@android:color/transparent"