Я хочу сделать прозрачный фон на CardView. Я знаю backgroundColor, но у меня есть изображение на моем макете.
Ты знаешь как это сделать? Или что-то, что работает как cardview, но я установлю прозрачный фон?
С уважением
Я хочу сделать прозрачный фон на CardView. Я знаю backgroundColor, но у меня есть изображение на моем макете.
Ты знаешь как это сделать? Или что-то, что работает как cardview, но я установлю прозрачный фон?
С уважением
Ответы:
Настройте CardView для использования cardBackgroundColor
атрибута для удаления цвета и cardElevation
атрибута для удаления тени. Например:
<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
вместо этого вызвать эти две функции :
myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);
setCardElevation()
и setCardBackgroundColor()
из вашего кода вы CardView
видите мое редактирование.
@null
но это не сработало, есть идеи?
Простые 2 шага, чтобы сделать Android CardView
прозрачным.
Установить app:cardBackgroundColor="@android:color/transparent"
. Это CardView
атрибут для установки фона.
Установите app:cardElevation="0dp"
для удаления тени.
Например, вот небольшой xml-код для создания прозрачного 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" />
Примечание: не используйте
.setBackground
app:cardBackgroundColor
Вместо этого используйте .
В моем случае я использовал атрибут android: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"
>
Это должно работать с API 17
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
использовать 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>
Просто добавьте приложение цвета фона: cardBackgroundColor = "# 0000"
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardBackgroundColor="#0000">
android:background="@android:color/transparent"