Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add shadow on CardView aligned to bottom of parent

I have a CardView aligned bottom to screen, destpite the elevation I want to add more shadow to top of the CardView. I've tried with

  android:shadowColor="#000"   android:shadowDx="0"   android:shadowDy="30"   android:shadowRadius="50" 

But see no changes this is my code:

    <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:app="http://schemas.android.com/apk/res-auto"         android:clipToPadding="false"         android:clipChildren="false"          android:orientation="vertical"          android:layout_width="match_parent"          android:layout_height="match_parent">      <!--rest of the code-->       <LinearLayout             android:layout_width="match_parent"             android:layout_alignParentBottom="true"             android:shadowColor="#000"             android:shadowDx="0"             android:shadowDy="30"             android:shadowRadius="50"             android:layout_height="wrap_content">         <android.support.v7.widget.CardView       xmlns:app="http://schemas.android.com/apk/res-auto"              android:layout_width="match_parent"              android:layout_height="wrap_content"              android:elevation="8dp"                                       android:divider="@android:color/transparent"              android:dividerHeight="0.0px"              android:clipToPadding="false"              android:clipChildren="false"              app:cardElevation="10dp"              app:cardPreventCornerOverlap="false">            <!--rest of the code-->     </android.support.v7.widget.CardView>     </LinearLayout>      </RelativeLayout> 
like image 375
Stefanija Avatar asked Jan 12 '17 14:01

Stefanija


People also ask

How do I customize my CardView?

Customized CardView First, add a CardView dependency to the application-level build. gradle file. Then create a drawable background for the cards. For that, create a new drawable resource file inside the drawable folder.

How do you set elevation in CardView?

To change CardView's elevation in a backward compatible way, use setCardElevation . CardView will use elevation API on Lollipop and before Lollipop, it will change the shadow size.

How do I change the color of my shadow in CardView?

You need to use a drawable background ( shadow. xml ) in the parent layout which is looking like a shadow. You can replace FF46A9 in shadow. xml to change the color of shadow.


1 Answers

Well margin don't help much, so I put padding on main container and remove all those shadow properties because the android:elevation="" is what is doing the job.

Here is some clear code, that is working for this need:

<RelativeLayout    xmlns:android="http://schemas.android.com/apk/res/android"         xmlns:card_view="http://schemas.android.com/apk/res-auto"         android:clipToPadding="false"         android:clipChildren="false"         android:orientation="vertical"         android:padding="20dp"         android:layout_width="match_parent"         android:layout_height="match_parent">    <!--rest of the code-->    <LinearLayout          android:layout_width="match_parent"          android:layout_alignParentBottom="true"          android:clipToPadding="false"        android:clipChildren="false"          android:layout_height="wrap_content">     <android.support.v7.widget.CardView          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:elevation="8dp"          android:divider="@android:color/transparent"          android:dividerHeight="0.0px"          android:clipToPadding="false"          android:clipChildren="false"          card_view:cardElevation="10dp"          card_view:cardPreventCornerOverlap="false">        <TextView           android:layout_width="match_parent"           android:padding="20dp"           android:layout_height="wrap_content"           android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed           do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim            veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo           consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse           cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,           sunt in culpa qui officia deserunt mollit anim id est laborum"         />        </android.support.v7.widget.CardView>   </LinearLayout>  </RelativeLayout> 

And an image on how this looks: enter image description here

like image 129
Stefanija Avatar answered Sep 21 '22 07:09

Stefanija