Is there any way to do a Material-style shadow in API < 21 (5.0 Lollipop)?

Ben Leggiero picture Ben Leggiero · Jul 22, 2014 · Viewed 10.9k times · Source

Material design makes a huge emphasis on the metaphor of "sheets of paper". To make these, shadows are essential. Since Material design is a philosophy and not an API (despite it being built into L), this should be done anywhere (Windows Forms, HTML/CSS, etc.). How do I do this in Android API 14 to 20?

Note that premade PNGs won't really be that practical for circular and other non-square shapes.

Answer

Ethan picture Ethan · Dec 14, 2015

If you're not worried about backwards compatibility past Lollipop, you can set the elevation Attribute directly in the XML

    android:elevation="10dp"

Otherwise you have to set it in Java using the support.v4.ViewCompat library.

    ViewCompat.setElevation(myView, 10);

and add this to your build.gradle

    compile 'com.android.support:support-v4:21.+'

http://developer.android.com/reference/android/support/v4/view/ViewCompat.html#setElevation(android.view.View,%20float)