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 cardBackgroundColor
thuộc tính để loại bỏ màu và cardElevation
thuộ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, CardView
thay 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 CardView
Xem chỉnh sửa của tôi.
@null
nhưng nó không hoạt động, bất kỳ ý tưởng?
2 bước đơn giản để làm cho Android CardView
trong suốt.
Thiết lập app:cardBackgroundColor="@android:color/transparent"
. Đây là CardView
thuộ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ụngsetBackground
app:cardBackgroundColor
thay 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 #50000000
ví 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"