How to provide shadow to Button How to provide shadow to Button android android

How to provide shadow to Button


Use this approach to get your desired look.
button_selector.xml :

<selector xmlns:android="http://schemas.android.com/apk/res/android"><item>    <layer-list>        <item android:right="5dp" android:top="5dp">            <shape>                <corners android:radius="3dp" />                <solid android:color="#D6D6D6" />            </shape>        </item>        <item android:bottom="2dp" android:left="2dp">            <shape>                <gradient android:angle="270"                     android:endColor="#E2E2E2" android:startColor="#BABABA" />                <stroke android:width="1dp" android:color="#BABABA" />                <corners android:radius="4dp" />                <padding android:bottom="10dp" android:left="10dp"                     android:right="10dp" android:top="10dp" />            </shape>        </item>    </layer-list></item></selector>

And in your xml layout:

<Button   android:background="@drawable/button_selector"   ...   ../>


For android version 5.0 & above

try the Elevation for other views..

android:elevation="10dp"

For Buttons,

android:stateListAnimator="@anim/button_state_list_animator"

button_state_list_animator.xml - https://android.googlesource.com/platform/frameworks/base/+/master/core/res/res/anim/button_state_list_anim_material.xml

below 5.0 version,

For all views,

 android:background="@android:drawable/dialog_holo_light_frame"

My output:

enter image description here


Here is my button with shadow cw_button_shadow.xml inside drawable folder

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:state_pressed="false">        <layer-list>            <!-- SHADOW -->            <item>                <shape>                    <solid android:color="@color/red_400"/>                    <!-- alttan gölge -->                    <corners android:radius="19dp"/>                </shape>            </item>            <!-- BUTTON alttan gölge              android:right="5px" to make it round-->            <item                android:bottom="5px"                >                <shape>                    <padding android:bottom="5dp"/>                    <gradient                        android:startColor="#1c4985"                        android:endColor="#163969"                        android:angle="270" />                    <corners                        android:radius="19dp"/>                    <padding                        android:left="10dp"                        android:top="10dp"                        android:right="5dp"                        android:bottom="10dp"/>                </shape>            </item>        </layer-list>    </item>    <item android:state_pressed="true">        <layer-list>            <!-- SHADOW -->            <item>                <shape>                    <solid android:color="#102746"/>                    <corners android:radius="19dp"/>                </shape>            </item>            <!-- BUTTON -->            <item android:bottom="5px">                <shape>                    <padding android:bottom="5dp"/>                    <gradient                        android:startColor="#1c4985"                        android:endColor="#163969"                        android:angle="270" />                    <corners                        android:radius="19dp"/>                    <padding                        android:left="10dp"                        android:top="10dp"                        android:right="5dp"                        android:bottom="10dp"/>                </shape>            </item>        </layer-list>    </item></selector>

How to use. in Button xml, you can resize your height and weight

<Button                android:text="+ add friends"                android:layout_width="120dp"                android:layout_height="40dp"               android:background="@drawable/cw_button_shadow" />

enter image description here