<div class='type'>Compose Modifier</div>

<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


> **Deprecated** Replace with shadow which accepts ambientColor and spotColor parameters



<h2 id="shadow-elevation-shape-clip">shadow</h2>

```kotlin
fun Modifier.shadow(
    elevation: Dp,
    shape: Shape = RectangleShape,
    clip: Boolean = elevation > 0.dp,
) = shadow(elevation, shape, clip, DefaultShadowColor, DefaultShadowColor)
```


Creates a `graphicsLayer` that draws a shadow. The `elevation` defines the visual depth of the
physical object. The physical object has a shape specified by `shape`.

If the passed `shape` is concave the shadow will not be drawn on Android versions less than 10.

Note that `elevation` is only affecting the shadow size and doesn't change the drawing order. Use
a `androidx.compose.ui.zIndex` modifier if you want to draw the elements with larger `elevation`
after all the elements with a smaller one.

Usage of this API renders this composable into a separate graphics layer

#### Parameters

| | |
| --- | --- |
| elevation | The elevation for the shadow in pixels |
| shape | Defines a shape of the physical object |
| clip | When active, the content drawing clips to the shape. |






<hr class="docs-overload-divider">


<h2 id="shadow-elevation-shape-clip-ambientcolor-spotcolor">shadow</h2>

<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun Modifier.shadow(
    elevation: Dp,
    shape: Shape = RectangleShape,
    clip: Boolean = elevation > 0.dp,
    ambientColor: Color = DefaultShadowColor,
    spotColor: Color = DefaultShadowColor,
) =
    if (elevation > 0.dp || clip) {
        this then ShadowGraphicsLayerElement(elevation, shape, clip, ambientColor, spotColor)
    } else {
        this
    }
```


Creates a `graphicsLayer` that draws a shadow. The `elevation` defines the visual depth of the
physical object. The physical object has a shape specified by `shape`.

If the passed `shape` is concave the shadow will not be drawn on Android versions less than 10.

Note that `elevation` is only affecting the shadow size and doesn't change the drawing order. Use
a `androidx.compose.ui.zIndex` modifier if you want to draw the elements with larger `elevation`
after all the elements with a smaller one.

Note that this parameter is only supported on Android 9 (Pie) and above. On older versions, this
property always returns `Color.Black` and setting new values is ignored.

Usage of this API renders this composable into a separate graphics layer

#### Parameters

| | |
| --- | --- |
| elevation | The elevation for the shadow in pixels |
| shape | Defines a shape of the physical object |
| clip | When active, the content drawing clips to the shape. |
| ambientColor | Color of the ambient shadow drawn when `elevation` > 0f |
| spotColor | Color of the spot shadow that is drawn when `elevation` > 0f |