Tôi muốn làm nền trong suốt trên CardView. Tôi biết backgroundColor nhưng tôi có hình ảnh trên Bố cục của mình.
Bạn có biết làm thế nào để làm điều đó? Hoặc thứ gì đó hoạt động như cardview nhưng tôi sẽ đặt nền trong suốt?
Trân trọng
Tôi muốn làm nền trong suốt trên CardView. Tôi biết backgroundColor nhưng tôi có hình ảnh trên Bố cục của mình.
Bạn có biết làm thế nào để làm điều đó? Hoặc thứ gì đó hoạt động như cardview nhưng tôi sẽ đặt nền trong suốt?
Trân trọng
Câu trả lời:
Thiết lập CardView của bạn để sử dụng cardBackgroundColorthuộc tính để loại bỏ màu và cardElevationthuộc tính để loại bỏ bóng đổ. Ví dụ:
<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">
Để có danh sách đầy đủ các thuộc tính được hỗ trợ, hãy xem tại đây: https://developer.android.com/reference/android/support/v7/widget/CardView.html
Nếu bạn đang sử dụng một API cũ hơn, CardViewthay vào đó bạn sẽ cần gọi hai hàm này :
myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);
setCardElevation()và setCardBackgroundColor()từ mã của bạn trên bạn CardViewXem chỉnh sửa của tôi.
@nullnhưng nó không hoạt động, bất kỳ ý tưởng?
2 bước đơn giản để làm cho Android CardViewtrong suốt.
Thiết lập app:cardBackgroundColor="@android:color/transparent". Đây là CardViewthuộc tính để thiết lập nền.
Đặt app:cardElevation="0dp"để loại bỏ bóng.
Ví dụ: đây là mã xml nhỏ để tạo trong suốt 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" />
Lưu ý: Không sử dụng
. Sử dụngsetBackgroundapp:cardBackgroundColorthay thế.
Trong trường hợp của tôi, tôi đã sử dụng thuộc tính android:backgroundTint="@color/some_color" , thuộc tính này chỉ được sử dụng ở cấp API 21 trở lên . Và color #50000000ví dụ.
<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"
>
Điều này sẽ hoạt động trên API 17
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
sử dụng 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>
android:background="@android:color/transparent"