Question: [Material design](http://www.google.com/design/spec/material-design/introduction.html#introduction-principles) 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: 
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)>
Rendering shadows on pre-Lollipop is not easy, but possible. The trick is that a shadow is simply a black, blured shape of a view. You can do that by yourself.

1. Draw your shadow-casting view to a bitmap with LightingColorFilter(0,0) set
2. Blur it using ScriptIntrisincBlur
3. Draw the shape
4. Draw the view on top of the shape

Sounds lika a lot of code to write, but it works for all cases, so you can easily cover all your views.