Mohamed ALOUANE Mohamed ALOUANE - 20 days ago 12
Android Question

Android CardView cardElevation and shadow is not working

I have this set of Cards using CardView inside an activity.

When running the app, I get this not expected cardview : no elevation, no shadow...

Result on Android 7 device :

Android 7

Code

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp"
card_view:cardUseCompatPadding="true"
android:layout_margin="8dp"
android:gravity="center_horizontal"
android:id="@+id/card_view"
android:padding="10dp"
android:layout_centerHorizontal="true"
card_view:cardBackgroundColor="@color/main_color_grey_800">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">

<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="350.0dp"
android:scaleType="centerCrop"
/>

<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="15.0dp"
android:textColor="@android:color/black"
android:textSize="16.0sp"
android:text="@string/LoremText" />

<TextView
android:id="@+id/desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:padding="15.0dp"
android:textColor="@android:color/black"
android:textSize="12.0sp"
android:textAlignment="center"
android:text="@string/LoremText" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="end"
android:orientation="horizontal"
android:paddingTop="10.0dip">

<Button
android:id="@+id/answer_1"
android:layout_width="0px"
android:layout_height="50.0dip"
android:text="@string/Maybe"
android:textColor="@color/white"
android:background="@color/cpb_red"
android:textSize="14sp"
style="@style/DBTheme.Button.Orange"
android:textStyle="bold"
android:layout_weight="1"
tools:ignore="ButtonStyle"
android:visibility="gone" />

<Button
android:id="@+id/answer_2"
style="@style/DBTheme.Button.Orange"
android:layout_width="0px"
android:layout_height="50.0dip"
android:text="@string/yes_button"
android:textColor="@android:color/white"
android:textSize="14sp"
android:textStyle="bold"
android:background="@color/cpb_red"
android:layout_weight="1"
android:visibility="gone" />
<Button
android:id="@+id/answer_3"
style="@style/DBTheme.Button.Orange"
android:layout_width="0px"
android:layout_height="50.0dip"
android:layout_weight="1.0"
android:textStyle="bold"
android:text="@string/no_button"
android:textColor="@color/white"
android:background="@color/cpb_red"
android:textSize="14sp"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>

<View
android:layout_width="match_parent"
android:layout_height="4.0dp"
android:background="@drawable/shadow" />
</android.support.v7.widget.CardView>


Any ideas on how to solve this ? Thanks :)

Answer

After digging,playing and modifying the layout I even created a new project and add the same code in the current project I've got different result xD , it turns out the issue is caused by this android:hardwareAccelerated="false" in the AndroidManifest.xml file.Just set the value of that attribute to true and you'll be good to go.