Compose Modifier
Common
Deprecated Replace with shadow which accepts ambientColor and spotColor parameters
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.
Common
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

Code Examples

ShadowSample

@Composable
fun ShadowSample() {
    Box(Modifier.shadow(12.dp, RectangleShape).size(100.dp, 100.dp))
}