I want to know how to add a shadow layer to any general View in android. for eg: suppose i have a layout xml, showing something like this..
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" <Button.... ... </LinearLayout>
Now when it is displayed I want to have a shadow around it.
To set the default (resting) elevation of a view, use the android:elevation attribute in the XML layout. To set the elevation of a view in the code of an activity, use the View. setElevation() method. To set the translation of a view, use the View.
Kotlin Android – TextView Shadow Effect To get shadow for TextView in Android, set android:elevation attribute, with required amount of elevation from the base level, for the TextView widget in layout XML file. For elevation to be effective, we should set background for the TextView.
Elevation (Android) Elevation is the relative depth, or distance, between two surfaces along the z-axis. Specifications: Elevation is measured in the same units as the x and y axes, typically in density-independent pixels (dp).
The best way to create a shadow is to use a 9patch
image as the background of the view (or a ViewGroup
that wraps the view).
The first step is to create a png image with a shadow around it. I used photoshop to create such an image. Its really simple.
The next step is to create 9-patch drawables from this image.
draw9patch
from android-sdk/tools
draw9patch
shadow.9.png
.Now you can add this shadow as the background of the views you want to add the shadow to. Add shadow.9.png
to res/drawables
. Now add it as a background:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/shadow" android:paddingBottom="5px" android:paddingLeft="6px" android:paddingRight="5px" android:paddingTop="5px" >
I recently wrote a blog post that explains this in detail and includes the 9patch image that I use for creating the shadow.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With