Quiero hacer un fondo transparente en CardView. Sé backgroundColor pero tengo una imagen en mi diseño.
¿Sabes cómo hacerlo? ¿O algo que funcione como cardview pero estableceré un fondo transparente?
Saludos
Quiero hacer un fondo transparente en CardView. Sé backgroundColor pero tengo una imagen en mi diseño.
¿Sabes cómo hacerlo? ¿O algo que funcione como cardview pero estableceré un fondo transparente?
Saludos
Respuestas:
Configure su CardView para usar el cardBackgroundColor
atributo para eliminar el color y el cardElevation
atributo para eliminar la sombra paralela . Por ejemplo:
<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">
Para obtener una lista completa de los atributos admitidos, consulte aquí: https://developer.android.com/reference/android/support/v7/widget/CardView.html
Si está utilizando una API anterior, deberá llamar a estas dos funciones en su CardView
lugar:
myCardView.setCardBackgroundColor(Color.TRANSPARENT);
myCardView.setCardElevation(0);
setCardElevation()
y setCardBackgroundColor()
desde tu código en CardView
Ver mi edición.
@null
pero no funcionó, ¿alguna idea?
Sencillos 2 pasos para hacer que Android sea CardView
transparente.
Establecer app:cardBackgroundColor="@android:color/transparent"
. Este es un CardView
atributo para establecer el fondo.
Establecer app:cardElevation="0dp"
para eliminar la sombra.
Por ejemplo, aquí hay un pequeño código XML para crear transparencias. 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" />
Nota: no use
. Úselo en susetBackground
app:cardBackgroundColor
lugar.
En mi caso, utilicé el atributo android:backgroundTint="@color/some_color"
, solo se usa en el nivel de API 21 y superior . Y color #50000000
por ejemplo.
<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"
>
Esto debería funcionar en API 17
cardView.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent));
utilizar 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"