No se muestra la elevación de Android de View en CardView

Tengo un RelativeLayout dentro de un CardView que quiero elevar en Android Lollipop, pero la elevación no se muestra (la sombra no se muestra):

introduzca la descripción de la imagen aquí

Mi archivo de diseño:

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android.support.v7.cardview="http://schemas.android.com/apk/res-auto" style="@style/CardViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:elevation="5dp" android:orientation="horizontal" android.support.v7.cardview:cardElevation="5dp"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/list_selector" android:paddingBottom="5dp"> <ImageView android:id="@+id/article_thumb" android:layout_width="match_parent" android:layout_height="150dp" android:layout_alignParentTop="true" android:contentDescription="@string/app_name" android:scaleType="centerCrop" /> <TextView android:id="@+id/article_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/article_thumb" android:layout_marginEnd="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginStart="10dp" android:ellipsize="middle" android:linksClickable="false" android:longClickable="false" android:text="@string/title" android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textColor="@color/black" /> <TextView android:id="@+id/article_date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/article_title" android:layout_alignStart="@+id/article_title" android:layout_below="@+id/article_title" android:layout_marginTop="10dp" android:text="@string/date" android:textAppearance="@style/TextAppearance.AppCompat.Light.Widget.PopupMenu.Small" android:textColor="@color/gray" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignEnd="@+id/article_title" android:layout_alignRight="@+id/article_title" android:layout_below="@+id/article_title" android:layout_marginTop="10dp" android:elevation="30dp" android:translationZ="30dp"> <ImageView android:id="@+id/redbubble" android:layout_width="25dp" android:layout_height="25dp" android:layout_gravity="center" android:contentDescription="@string/app_name" android:scaleType="centerCrop" android:src="@drawable/redbubble" /> <TextView android:id="@+id/article_comment_bubble" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textColor="@color/white" /> </RelativeLayout> </RelativeLayout> 

Así que dentro de este diseño he añadido estas dos líneas al RelativeLayout para hacer la elevación:

 android:elevation="30dp" android:translationZ="30dp" 

Alguien una idea de por qué no se muestra? Por el momento lo pruebo con un Emulador usando la API 21 de Android (Lollipop).

En el diseño raíz en el xml que necesita

 xmlns:card_view="http://schemas.android.com/apk/res-auto" 

a continuación se muestra el código de un cardview

 card_view:cardElevation="5dp" 

La sombra no se muestra porque se dibujan fuera de los límites de RelativeLayout y la vista se sujeta a su límite.

Agregue android:clipChildren="false" al padre de su RelativeLayout o añada una pequeña cantidad de relleno a su vista y defina android:clipToPadding="false"

Debe añadir la propiedad android: elevation al redbubble imageview. Para ver la Sombra de un elemento tienes que añadir android: elevación a esa vista.

Le sugeriría que cambie su imagen de redbubble a la siguiente:

  <ImageView android:id="@+id/redbubble" android:layout_width="25dp" android:layout_height="25dp" android:layout_gravity="center" android:contentDescription="@string/app_name" android:scaleType="centerCrop" android:elevation="2dp" android:src="@drawable/redbubble" /> 

Noté que el mismo problema y la elevación no se muestra porque la línea:

android: layout_below = "@ + id / …."

Generalmente, es porque la sombra se dibuja fuera de los límites visibles.

retirar

 android:hardwareAccelerated="false" from manifest 
  • Cajón que no cubre la barra de acción
  • Android: Desplazamiento de problemas con recyclerview dentro de un viewpager
  • Vista de Scrollview anidada + Recycler
  • Material TabLayout elevación no funciona
  • ¿Cómo implementar costuras en el diseño de materiales en android?
  • Uso de varios DotSpan en MaterialCalendarView
  • No se puede resolver el símbolo abc_ic_search_api_mtrl_alpha
  • Cambiar el tema de diseño predeterminado a color personalizado?
  • Error de lanzamiento de NavigationView: No se encontró ningún identificador de recurso para el atributo 'menu' en el paquete
  • Cómo utilizar TextInputLayout con Theme.material?
  • Barra de herramientas de Android + Diseño de pestaña + Cajón, Ocultar barra de herramientas al desplazarse y llevar TabLayout a la parte superior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.