Я хочу зробити прозорий фон на 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>
android:background="@android:color/transparent"