Add shadow on right and bottom side of the layout

16,747

Solution 1

I think this may solve your problem

 <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#00CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#10CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#20CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="2dp" android:left="0dp" android:right="2dp"
                         android:top="0dp"/>
                <solid android:color="#30CCCCCC"/>
            </shape>
        </item>
        <item>
            <shape>
                <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp"/>
                <solid android:color="#50CCCCCC"/>
            </shape>
        </item>

        <!-- Background -->
        <item>
            <shape>
                <solid android:color="@color/white"/>
                <corners android:radius="3dp"/>
            </shape>
        </item>
    </layer-list>

Then apply it to an XML layout as a background LinearLayout android:background="@drawable/drawable_name"

Solution 2

This is what I referred and it worked.

** 1.Add a plain LinearLayout with grey color, over which add your actual layout, with margin at bottom and right equal to 1 or 2 dp

2.Have a 9-patch image with a shadow and set it as the background to your Linear layout**

Other solutions here

Share:
16,747

Related videos on Youtube

Admin
Author by

Admin

Updated on October 24, 2022

Comments

  • Admin
    Admin over 1 year

    I want to add a light shadow on the right and bottom side of the layout.I tried using android:background="@android:drawable/dialog_holo_light_frame" but it adds a thick shadow on all four sides of the layout.What drawable i need to create and set as background?

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:background="@android:drawable/dialog_holo_light_frame">
           <ImageView
                    android:id="@+id/g"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:scaleType="centerCrop"
                    android:layout_gravity="center"
                    android:src="@drawable/logo_icon"
                    android:visibility="visible"
                    android:clickable="true" />
    </LinearLayout>
    
  • Ravi Bhandari
    Ravi Bhandari over 8 years
    Nice answer. +1 for it.
  • NightFury
    NightFury over 7 years
    Point 1 is nice idea !